Peter 的烟

Peter 的烟

W1ndys Lv6

Peter 的烟

题目背景

温馨提醒:吸烟有害健康,请勿尝试吸烟!

题目描述

Peter 有 $n$ 根烟,他每吸完一根烟就把烟蒂保存起来,$k$($k>1$)个烟蒂可以换一个新的烟,那么 Peter 最终能吸到多少根烟呢?

与某些脑筋急转弯不同的是,Peter 并不能从异次元借到烟蒂,抽完后再还回去。

输入格式

每组测试数据一行包括两个整数 $n, k$($1 < n, k \le 10^8$)。

输出格式

对于每组测试数据,输出一行包括一个整数表示最终烟的根数。

样例 #1

样例输入 #1

1
4 3

样例输出 #1

1
5

样例 #2

样例输入 #2

1
10 3

样例输出 #2

1
14

提示

对于 $100%$ 的数据,$1<n, k \le 10^8$。

题解

1
2
3
4
5
6
7
n, k = map(int, input().split())
sum_smoke = n
sum_di = n
while int(sum_di / k) > 0:
sum_smoke += int(sum_di / k)
sum_di = int(sum_di / k) + int(sum_di % k)
print(sum_smoke)

解释

第一行读取两个输入

第二行第三行定义烟的总数和烟蒂的总数

初始化烟和烟蒂肯定都是n

然后执行循环,判断,如果还能换烟,就执行循环体

循环体内容是把换来的烟加到烟的总数,然后重置烟蒂的数量。

这边有个注意的点就是,烟蒂的数量是换完之后剩下换不了的烟蒂加上换来的烟(抽完就是烟蒂),我第一次没有加换之前剩余的,所以有一个没通过

最后输出烟的总数

知识点

整除取整整除取余

  • 标题: Peter 的烟
  • 作者: W1ndys
  • 创建于 : 2024-02-02 15:19:36
  • 更新于 : 2025-01-17 20:28:48
  • 链接: https://blog.w1ndys.top/posts/80cc5efe.html
  • 版权声明: 版权所有 © W1ndys,禁止转载。
评论