python-禁止抽烟

题目描述

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

与某些脑筋急转弯不同的是,小理的朋友并不能从异次元借到烟蒂,抽完后再还回去。
输入:

每组测试数据一行包括两个整数 n,k(1<n,k≤108)。
输出:

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

4 3

样例输出1

5

样例输入2

10 3

样例输出2

14

提示:

对于 100% 的数据,1<n,k≤108。

来源/分类(难度系数:一星
数学思维

++完整代码展示:++

a,b=map(int,input().split())

left=a//b

sum=a+left

while left>=b:

left=left//b

sum=sum+left

print(sum)

++代码解释:++

"a,b=map(int,input().split()) ",让用户输入初始的烟数a和烟蒂兑烟的比例b。

"left=a//b
sum=a+left
",令left为初始残留烟蒂数,left=a//b,sum为抽的烟总数,sum初始值为sum=a+left。

"while left>=b:
left=left//b
sum=sum+left
",当left>=b时,令left=left//b(将剩余烟蒂以b的比例兑新烟),sum+=sum+left,直至left<b,跳出整个while循环。

"print(sum)",打印sum的最终值。

++运行效果展示:++

++++

(声明:以上内容均为原创)

相关推荐
小郭团队4 分钟前
1_1_七段式SVPWM (传统算法反正切)算法理论与 MATLAB 实现详解
人工智能·stm32·嵌入式硬件·算法·dsp开发
MediaTea5 分钟前
Python OOP 设计思想 13:封装服务于演化
linux·服务器·前端·数据库·python
love530love5 分钟前
突破 ComfyUI 环境枷锁:RTX 3090 强行开启 comfy-kitchen 官方全后端加速库实战
人工智能·windows·python·cuda·comfyui·triton·comfy-kitchen
setary03016 分钟前
c++泛型编程之Typelists
开发语言·c++
u0104058366 分钟前
Java应用的链路追踪:实现分布式跟踪
java·开发语言·分布式
wang6021252187 分钟前
流式输出注意点
python·状态模式·fastapi
未定义.2218 分钟前
第3篇:UI自动化核心操作:输入、点击、弹窗、下拉框全场景实战
运维·python·ui·自动化·jenkins·集成测试·pytest
翟天保Steven9 分钟前
医学影像-CBCT图像重建FDK算法
算法·医学影像·图像重建
这是个栗子10 分钟前
【API封装参数传递】params 与 API 封装
开发语言·前端·javascript·data·params