10346 - Peter's Smokes
Time limit: 3.000 seconds
Peter has n cigarettes. He smokes them one by one keeping all the butts. Out of k > 1 butts he can roll a new cigarette.
How many cigarettes can Peter have?
Input
Input is a sequence of lines. Each line contains two integer numbers giving the values of n and k. The input is terminated by end of file.
Output
For each line of input, output one integer number on a separate line giving the maximum number of cigarettes that Peter can have.
Sample Input
4 3
10 3
100 5
Sample Output
5
14
124
完整代码:
/*0.018s*/
#include <cstdio>
int main()
{
int n, k, i;
while (~scanf("%d%d", &n, &k))
{
for (i = n; i >= k; i = i % k + i / k) n += i / k;
printf("%d\n", n);
}
return 0;
}
本文探讨了Peter's Smokes问题,即Peter如何利用剩余烟蒂制作新的香烟以最大化其数量。输入包括一系列整数对(n, k),分别表示初始烟蒂数和制作新烟所需的烟蒂数。通过一个高效的算法实现,展示了如何计算Peter可以制作的最大香烟数量。
733

被折叠的 条评论
为什么被折叠?



