已知矩形的大小为n×m,现用a×a的正方形填充该矩形。输入三个正整数n,m,a(n,m,a≤10^9),计算至多能填入多少正方形?(正方形可以正好碰到矩形边界,但不能超出矩形外)
解题思路:
陷阱有二:
1:n,m,a都有可能是0,这时候需要输出0(ps:边长是0是矩形吗?)
2:关于越界的问题,这里我也错了几次,需要使用longlong int
类型名称 字节数 取值范围
signed char 1 -128~+127
short int 2 -32768~+32767
int 4 -2147483648~+2147483647
long int 4 -2147483648~+2141483647
long long int 8 -9223372036854775808~+9223372036854775807
#include<stdio.h>
#include<math.h>
int main()
{
long long int a,b,s,min,max,num1,num2,num;
scanf("%lld %lld %lld",&a,&b,&s);
if(a<b)
{ min=a;
max=b;
}
else
{ min=b;
max=a;
}
if(s>min||a==0||b==0||s==0)
printf("0");
else
{
num1=min/s;
num2=max/s;
num=num1*num2;
printf("%lld",num);
}
return 0;
}