1.设有一个n*m方格的棋盘(1≤m,n≤100)。
求出该棋盘中包含多少个正方形、多少个长方形(不包括正方形)。
求内切圆就是求正方形。
//x=min(m,n)-1
//长方形里面数正方形的个数计算公式:m*n+(m-1)*(n-1)+.....+(m-x)*(n-x)
// m*n表示长度为1的正方形的个数,(m-1)*(n-1)表示长度为2的正方形的个数。。。。。。
//长方形里面数长方形的个数计算公式(包含正方形):(1+2+3+...+m)*(1+2+3+...+n)=n*m(n+1)*(m+1)/4
int N, M;
int main()
{
int sumz = 0;
int sumc = 0;
//正方形个数
if (N > M)
{
for (int i = M - 1; i >= 0; i--)
{
sumz += (N - i) * (M - i);
}
}
else
{
for (int i = N - 1; i >= 0; i--)
{
sumz += (N - i) * (M - i);
}
}
// 长方形个数
sumc = N * M * (N + 1) * (M + 1) / 4 - sumz;
cout<<sumz<<" " <<sumc<<endl;
return 0;
}