C - 递推

Description

给你一个高为n ,宽为m列的网格,计算出这个网格中有多少个矩形,下图为高为2,宽为4的网格.

Input

第一行输入一个t, 表示有t组数据,然后每行输入n,m,分别表示网格的高和宽 ( n < 100 , m < 100).

Output

每行输出网格中有多少个矩形.

Sample Input

2
1 2
2 4

Sample Output

3
30


解题思路:发现一行的小矩阵的个数为for(int i=1;i<=m;i++) a=a+i;同理一列的个数也是如此。大胆猜想一下,最
后的结果为一行的个数与一列的个数的乘积。

代码如下:
#include<stdio.h>
int main()
{    int t,m,n;
     scanf("%d",&t);
     while(t--)
     {    int a=0,b=0,sum=0;
          scanf("%d%d",&m,&n);
          for(int i=1;i<=m;i++) a=a+i;// 一行的个数
          for(int j=1;j<=n;j++)
          b=b+j;// 一列的个数
          sum=a*b;//总个数
          printf("%d\n",sum);
     }
     return 0;
}
posted @ 2016-08-06 10:57  头像好帅  阅读(128)  评论(0编辑  收藏  举报