题目描述
Peter 有 n 根烟,他每吸完一根烟就把烟蒂保存起来,k(k>1)个烟蒂可以换一个新的烟,那么 Peter 最终能吸到多少根烟呢?
与某些脑筋急转弯不同的是,Peter 并不能从异次元借到烟蒂,抽完后再还回去。
输入格式
每组测试数据一行包括两个整数 n,k(1<n,k≤10^8)。
输出格式
对于每组测试数据,输出一行包括一个整数表示最终烟的根数。
输入输出样例
输入#1:4 3
输出#1:5
输入#2:10 3
输出#2:14
说明/提示
对于 100%100% 的数据,1<n,k≤10^8。
代码:
#include<bits/stdc++.h>
using namespace std;
int main()
{
int n,k,baoliu = 0,ans = 0;
cin >> n >> k;
int tmp = n;
while(n != 0)
{
n--;
ans++;
baoliu++;
if(baoliu == k)
{
n++;
baoliu -= k;
}
}
cout << ans;
return 0;
}
该问题描述了一个数学逻辑,Peter有n根烟,用k个烟蒂可以换一根新烟。程序计算了Peter最终能吸到的烟的数量。输入包括两整数n和k,输出是最后的烟数。代码中使用循环处理烟蒂交换的过程。
605

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



