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的最终值。

++运行效果展示:++

++++

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

相关推荐
gb421528714 分钟前
java中将租户ID包装为JSQLParser的StringValue表达式对象,JSQLParser指的是?
java·开发语言·python
THMAIL18 分钟前
量化股票从贫穷到财务自由之路 - 零基础搭建Python量化环境:Anaconda、Jupyter实战指南
linux·人工智能·python·深度学习·机器学习·金融
~-~%%20 分钟前
从PyTorch到ONNX:模型部署性能提升
人工智能·pytorch·python
一朵梨花压海棠go20 分钟前
html+js实现表格本地筛选
开发语言·javascript·html·ecmascript
蒋星熠25 分钟前
Flutter跨平台工程实践与原理透视:从渲染引擎到高质产物
开发语言·python·算法·flutter·设计模式·性能优化·硬件工程
翻滚丷大头鱼1 小时前
Java 集合Collection—List
java·开发语言
小欣加油1 小时前
leetcode 面试题01.02判定是否互为字符重排
数据结构·c++·算法·leetcode·职场和发展
3Cloudream1 小时前
LeetCode 003. 无重复字符的最长子串 - 滑动窗口与哈希表详解
算法·leetcode·字符串·双指针·滑动窗口·哈希表·中等
王璐WL1 小时前
【c++】c++第一课:命名空间
数据结构·c++·算法
爬虫程序猿1 小时前
《京东商品详情爬取实战指南》
爬虫·python