题目描述
有一个n*m方格的棋盘,求其方格包含多少正方形、长方形(此处长方形不包含正方形)
输入
输入存在多组测试数据。每组测试数据输入两个整数n,m,数字不超过5000
输出
对于每组数据输出一行包含两个整数,分别表示正方形数目和长方形数目
样例输入 Copy
2 3
样例输出 Copy
8 10
思路:正方形的个数是
边长为1 个数n*m
边长为2 个数(n-1)*(m-1)
边长为n-1 个数1*1
矩形的个数是:((n+1)*(m+1)*m*n)/4
#include<stdio.h>
int main()
{
int m,n;
long long a=0,b,c;
scanf("%d%d",&n,&m);
c=((1+m)*(1+n)*m*n)/4;
while(n>0&&m>0)
{
a=n*m+a;
n--;
m--;
}
printf("%ld %ld",a,c-a);
return 0;
}