烟蒂换烟问题

 luogu上有这样一道经典题刚开始我是想着编译代码让计算机自己慢慢推出来的,因为是个编程题,所以n和k都会给定的。但是直到我看到数学公式,发现我看不明白他的解释,于是想自己推一推。

这是他的解释:

 其中这句话我抱有疑问

 看看我的解法 

1.设 Peter 一共抽到了x根烟,最后的最后他剩m个烟蒂(1≤m<k)(其中x和m均为整数)。那么老板那里一共有x-m个烟蒂。Peter换来了x-n根烟抽,这些烟是他用k(x-n)个烟蒂来换的。于是得到等式k(x-n)=x-m.

化简为x=n+(n-m)/(k-1),有情况使m不为1,如n=10,k=5时,m=2。

使用(1≤m<k)数学处理得:

 注意,x为整数,连不等号俩边差1,则x=[n+(n-1)/(k-1)]=[(nk-1)/(k-1)],问题在于取整。

2.Peter可以向未来换完烟的自己抽完烟后借一个烟蒂,抵消掉未来抽完烟后会剩下烟蒂的这个效果。效果上表现为,k-1个烟蒂,可以换一根烟,但不产生烟蒂。他手中总是要留有烟蒂,最少留有一个烟蒂,这个值在第一的解法中为m,所以[n+(n-1)/(k-1)]的结果更为精确。而不是[n+n/(k-1)],这个实际中可能大1.

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值