版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
设有一个n*m方格的棋盘(1≤m,n≤100)。
求出该棋盘中包含多少个正方形、多少个长方形(不包括正方形)。
例如:当n=2,m=3时
正方形的个数有8个;即边长为1的正方形有6个;
边长为2的正方形有2个。
长方形的个数有10个
即2*1的长方形有4个
1*2的长方形有3个
3*1的长方形有2个
3*2的长方形有1个
#include<iostream>
#include<cstdio>
#define t 10000+10
using namespace std;
int main()
{
int a[t];
int n,m,x=0,y=0;
cin>>n>>m;
for(int i=0;i<n;i++) a[i]=(n-i)*(m-i);
y=n*m*(n+1)*(m+1)/4;
for(int i=0;i<n;i++) x+=a[i];
cout<<x<<","<<y-x;
return 0;
}