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;
}