题意
nxm的正方形广场至少需要多少块axa的石板
题解
- 计算每边最少需要多少个石板,之后相乘即可。
s u m = ⌈ m / a ⌉ ∗ ⌈ n / a ⌉ sum= \left \lceil {m/a}\right \rceil *\left \lceil n/a \right \rceil sum=⌈m/a⌉∗⌈n/a⌉
当然,也能将ceil进行转换,则公式为:sum=((m+a-1)/a) x (n+a-1)/a) - 数值得范围是1e9,所以相乘的结果最后会很大,所以要用long long
知识点
取整函数主要有三种:ceil(),floor(),round()
- ceil:返回大于或等于指定表达式的最小整数,此函数是向上取整,例如ceil(4.3)=5
- floor:返回不大于传入的最大整数,次函数是向下取整,例如floor(4.3)=4
- round:返回四舍五入运算的结果
代码
#include<iostream>
using namespace std;
int main()
{
long long m,n,a,i,j;
cin>>m>>n>>a;
i=m/a;
j=n/a;
if(m%a>0) i++;
if(n%a>0) j++;
cout<<i*j<<endl;
}