题目描述
Peter 有 n 根烟,他每吸完一根烟就把烟蒂保存起来,k(k>1)个烟蒂可以换一个新的烟,那么 Peter 最终能吸到多少根烟呢
输入格式
每组测试数据一行包括两个整数 n, kn,k(1 < n, k <= 10^8)。
输出格式
对于每组测试数据,输出一行包括一个整数表示最终烟的根数。
输入
4 3
输出
5
输入
10 3
输出
14
#include<stdio.h>
int main(){
int n,k,m=1;
scanf("%d%d",&n,&k);
int s=n;
while(m!=0){
m=n/k;
s=s+m;
n=n%k+m;
}
printf("%d",s);
return 0;
}
该博客介绍了一个数学问题,即Peter如何通过用烟蒂换新的烟来最大化吸烟数量。给定初始烟的数量n和k个烟蒂可以换一根新烟的条件,程序通过计算可以得出Peter最终能吸到的烟的数量。程序使用了while循环和取模运算来实现这一过程。
1287

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



