兰州烧饼
时间限制:1000 ms | 内存限制:65535 KB
难度:1
描述
烧饼有两面,要做好一个兰州烧饼,要两面都弄热。当然,一次只能弄一个的话,效率就太低了。有这么一个大平底锅,一次可以同时放入k个兰州烧饼,一分钟能做好一面。而现在有n个兰州烧饼,至少需要多少分钟才能全部做好呢?
输入
依次输入n和k,中间以空格分隔,其中1 <= k,n <= 100000
输出
输出全部做好至少需要的分钟数
样例输入
3 2
样例输出
3
提示
如样例,三个兰州烧饼编号a,b,c,首先a和b,然后a和c,最后b和c,3分钟完成
题解:
当n<=k时,每次都可以把所有烧饼的其中一面弄热,所以只需要2次就够;
当n>k时,当n=k时,sum=2;
当n=2*k时,sum=4;
当n=3*k时,sum=6;
。。。。。。
可知,只要n是k的倍数,那么sum=2*n/k,n再大(处于倍数之间),sum必加1;
#include<cstdio>
int main()
{
int n,k;
int sum;
while(~scanf("%d%d",&n,&k)){
if(n<=k){
printf("2\n");
}else{
sum=n*2/k;
if(n*2%k!=0) sum++;
printf("%d\n",sum);
}
}
return 0;
}