3017 - 小俞同学的新房
小俞同学终于不再胡思乱想了,因为她最近心情特别好。她要搬到新家来了,可是刚刚开始装修,连瓷砖都没铺。
现在家里交给她一个任务,让她买足够的瓷砖来铺地,已知家里的面积是n * m的,商店卖的都是边长为a的正方形瓷砖,要求能刚刚好铺满地面或者比地面的面积大。但是小俞同学考虑都省钱的原因,还是按照买最少的瓷砖为原则。
Input
输入3个数n,m,a(1<=n,m,a<=109意义为题目中描述)。
Output
一个整数,代表所用最少瓷砖数。
Examples
Input
6 6 4
Output
4
Solution C
#include<stdio.h> #include<string.h> int main() { int n,m,a; long long i,j,k; while(~scanf("%d%d%d",&n,&m,&a)) { for(i=1;;i++) { if(a*i>=n) break; } for(j=1;;j++) { if(a*j>=m) break; } k=i*j; printf("%lld\n",k); } return 0; }
Solution C++
#include<cstdio> #include<iostream> #include<cmath> using namespace std; int main() { long long n, m, a; // freopen("in.txt", "r", stdin); // freopen("out_test.txt", "w", stdout); while(cin >> n >> m >> a) { long long tn = (n % a == 0 ? n / a : n / a + 1); long long tm = (m % a == 0 ? m / a : m / a + 1); cout << tn * tm << endl; } return 0; }