图形为一  由5行8列40个小正方形组成一大长方形,问这个图中有几个长方形???

解决方案 »

  1.   

    试一下这个算法对不对?没有验证
    a=0
    for (k = 1; k<=5 ;k++)
    {
    for (i=k;i<=8;i++)
    {
       for (j=k;j<=5;j++)
    {
    a=a+1;
    }
    if (i<=5)
    {
    a=a-1;
    }
    }

      

  2.   


    a=0
    for (k = 1; k<=5 ;k++)
    {
    for (i=k;i<=8;i++)
    {
       for (j=k;j<=5;j++)
    {
    a=a+1;
    }
    if (i<=5)
    {
    a=a-1;
    }
    }
      

  3.   

    应该这个答案是正确的。大家试试验证一下。
    看有谁看出思路。a=0
    for (L = 1; L<=8 ;L++)
    {
    for (k = 1; k<=5 ;k++)
    {
    for (i=L;i<=8;i++) 
                      {
       for (j=k;j<=5;j++)
    {
    a=a+1;
    }
    if (i<=5)
    {
    a=a-1;
    }
    }

    }
      

  4.   

    想了一下,还是有点不对;再改,凭空想的。没有验证!呵呵。a=0
    for (L = 1; L<=8 ;L++)
    {
    for (k = 1; k<=5 ;k++)
    {
    for (i=1;i<=8-L;i++)
    {
       for (j=1;j<=5-k;j++)
    {
    a=a+1;
    }
    if (i<=5)
    {
    a=a-1;
    }
    }

    }
      

  5.   

    答案是440.经测试,完全正确。
            static void Main()
            {
                int m = 5, n = 8;
                long count = 0;
                for(int i = 0;i < n;i++)
                    for(int j = 0;j < m;j++)
                        for(int p = i + 1;p <= n;p++)
                            for(int q = j + 1;q <= m;q++)
                                if(p - i != q - j)
                                    count++;
                Console.WriteLine(count);
            }
    像这样的题目,学过编程的人应该都能做出来啊!
    不就是几个for吗?
    这样的题目在我们开始学编程的时候是经常出的。
    而且这样的题目也是有数学方法的。
      

  6.   

    长8,宽5 1*1个
    长8,宽4 1*2个
    ...
    长8,宽1 1*5个
    长7,宽5 2*1个
    长7,宽4 2*2个
    ...
    长7,宽1 2*5个
    ...
    长1,宽1 8*5个如果要求长宽不一样的话,减去长宽相同的长5,宽5 4*1个
    长4,宽4 5*2个
    ...
    长1,宽1 8*5个sum = 1*1 + 1*2 +...+ 8*5 
       - 4*1 - 5*2 -...-8*5 // 如果长宽要求不一样的话所以写成代码的话如下int sum = 0;
    for(int i=1;i<=8;i++)
    {
       for(int j=1;j<=5;j++)
       {
          sum += i*j;
       }
    }//如果需要长宽不一样的话
    for(int i=1;i<=5;i++)
    {
       sum -= i*i;
    }
      

  7.   

    经过数学归纳法总结得出mxn的矩阵
    总个数为(m*(m+1)/2) * (n*(n+1)/2)
    1X1 为 1个
    1X2 为 3个
    1X3 为 6个
    1X4 为 10个
    2X2 为 9个
    2X3 为 18个
    .......
    mXn 为 (m*(m+1)/2) * (n*(n+1)/2)证明从略