矩形的个数
时间限制:1000 ms | 内存限制:65535 KB
难度:1
输入
本题有多组输入数据(<10000),你必须处理到EOF为止
输入2个整数A,B(1<=A,B<=1000)
输出
输出找到的矩形数。
样例输入
1 2 3 2
样例输出
3 18
描述
在一个3*2的矩形中,可以找到6个1*1的矩形,4个2*1的矩形3个1*2的矩形,2个2*2的矩形,2个3*1的矩形和1个3*2的矩形,总共18个矩形。
给出A,B,计算可以从中找到多少个矩形。
我的代码:
#include <stdio.h>
int main (void)
{
int a,b,cnt1,cnt2;
while(scanf("%d %d",&a,&b)!=EOF){
cnt1=cnt2=0;
for(int i=0;i<a;i++)
cnt1+=a-i;
for(int j=0;j<b;j++)
cnt2+=b-j;
printf("%lld\n",cnt1*cnt2);
}
return 0;
}
优秀代码:
#include <stdio.h>
main(){
float a,b;
while(scanf("%f%f",&a,&b)+1)
printf("%.0f\n",(a+1)*a*(b+1)*b/4);
}
优秀代码这里运用了公式,使代码非常简洁.
注意!
此题中前10000和为五万多,平方超过214738647,因此此题应用long long型数据进行处理。