题目描述
Peter 有 nn 根烟,他每吸完一根烟就把烟蒂保存起来,k(k>1)个烟蒂可以换一个新的烟,那么 Peter 最终能吸到多少根烟呢?
与某些脑筋急转弯不同的是,Peter 并不能从异次元借到烟蒂,抽完后再还回去。
输入格式
每组测试数据一行包括两个整数 n,k(1<n,k≤10^8)。
输出格式
对于每组测试数据,输出一行包括一个整数表示最终烟的根数。
输入输出样例
输入
4 3
输出
5
输入
10 3
输出
14
说明/提示
对于 100%100% 的数据,1<n,k≤1081<n,k≤108。
#include <iostream>
using namespace std;
int main()
{
int n, k;
// n是烟蒂
cin >> n >> k;
//记录烟的数量
int re =n;
while (n >= k)
{
// n / k 是 当前的烟蒂可以换多少个烟
// n % k 是 不够换一次烟的烟蒂的数量
n = n % k + n / k;
re += n / k;
}
cout << re;
return 0;
}