解题思路
以4行6列为例,则正方形最大边长为4,
当正方形边长为1时,有4 x 6即24个,
当正方形边长为2时,有3 x 5即15个,
当正方形边长为3时,有2 x 4即8个,
当正方形边长为4时,有1 x 3即3个,
细心的朋友应该发现规律了,即边长每加1,则2个乘数相应的减1,依照这个规律很快就可以解出答案。
代码
#include <iostream>
using namespace std;
int main()
{
int n, m, sum = 0;
cin >> n >> m;
int min = n;
if (n > m)
{
min = m;
}
for (int i = 0; i < min; i++)
{
sum += (n - i) * (m - i);
}
cout << sum << endl;
return 0;
}