Description
设有一个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个。

Input
n和m
Output
正方形的个数与长方形的个数
Sample Input
2 3
Sample Output
8 10
解题思路:边长为min{n,m}的正方形个数(s1)为(m-min{n,m}+1)*(n-min{n,m}+1),长方形和正方形个数和(s)为[(1+n)*(1+m)*n*m]/4,长宽不等长方形个数(s2)为s-s1。
程序:
var
m,n,m1,n1,s1,s2:longint;
begin
readln(m,n);
m1:=m;
n1:=n;
s1:=m1*n1;
while (m1<>0) and (n1<>0) do
begin
dec(m1);
dec(n1);
s1:=s1+m1*n1;
end;
s2:=((m+1)*(n+1)*m*n) div 4-s1;
writeln(s1,' ',s2);
end.
版权属于:Chris
原文地址:http://blog.sina.com.cn/s/blog_83ac6af80102v0i6.html
转载时必须以链接形式注明原始出处及本声明。