兰州烧饼

题目描述

烧饼有两面,要做好一个兰州烧饼,要两面都弄热。当然,一次只能弄一个的话,效率就太低了。有这么一个大平底锅,一次可以同时放入k个兰州烧饼,一分钟能做好一面。而现在有n个兰州烧饼,至少需要多少分钟才能全部做好呢?

输入

依次输入n和k,中间以空格分隔,其中1 <= k,n <= 100000

输出

输出全部做好至少需要的分钟数

样例输入

3 2

样例输出

3

代码

#include<stdio.h>
int main()
{
	int n,k,a,b;
	while(scanf("%d %d",&n,&k)!=EOF)
	{//输入多组n,k的数值
	if(n<k)
	{
		printf("2\n");
	}
	else
	{
		if(2*n%k==0)
		{
			printf("%d\n",2*n/k);
		}
		if(2*n%k!=0)
		{
			printf("%d\n",2*n/k+1);
		}
	}
    }
	return 0;
}

自我理解之处

//把问题简单化:n个烧饼,可以理解为要烤2n次,而每锅只能烤k次,那么答案就是 2n / k 次

//但还要考虑三种情况:

//1.如果 n < k,那么只需要2次

//2.如果 n > k &&  (2n % k) !> 0,那么需要 2n / k 次

//3.如果 n > k &&  (2n % k) > 0,那么需要 2n / k + 1 次

//(n * 2 % k > 0) 返回0,1;

如样例,三个兰州烧饼编号a,b,c,首先ab,然后ac,最后bc3分钟完成

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值