题目描述
Peter 有 n n n 根烟,他每吸完一根烟就把烟蒂保存起来, k k k( k > 1 k>1 k>1)个烟蒂可以换一个新的烟,那么 Peter 最终能吸到多少根烟呢?
与某些脑筋急转弯不同的是,Peter 并不能从异次元借到烟蒂,抽完后再还回去。
输入格式
每组测试数据一行包括两个整数 n , k n, k n,k( 1 < n , k ≤ 1 0 8 1 < n, k \le 10^8 1<n,k≤108)。
输出格式
对于每组测试数据,输出一行包括一个整数表示最终烟的根数。
输入输出样例 1
输入
4 3
输出
5
输入输出样例 2
输入
10 3
输出
14
代码
"""
有n根烟,吸一根留下一个烟蒂
k个烟蒂可以换一根新的烟
输入 两个整数 n和k
输出 最终的烟数 total
"""
n, k = map(int, input().split())
total = n # 烟的总数
i = n # 烟蒂个数
if n >= k:
while i // k > 0:
num = i // k # 可以换的烟数
total = total + num # 更新总数
i = i % k + num # 剩下的烟蒂
print(total)
else:
print(n)