模拟法,饮料换购

模拟法

原题链接:饮料换购

我的理解:

其实模拟法并不是指什么算法,而是一种思维,指的是根据题目的意思来进行解答,这里用一道蓝桥杯的例题进蓝桥杯真题
行举例

这道题就是典型的模拟法思维

题目告诉了我们,小明能喝到饮料的规则,模拟法思维,就是模拟题目告诉我们的规则,一点一点向答案推进,比如题目说3个瓶盖可以换一瓶饮料,那假如有10瓶饮料,那就有10个瓶盖,就可以换10整除3瓶,即3瓶饮料,那3瓶饮料又有3个瓶盖了,在加上我们10瓶饮料时,换剩下的一个瓶盖,那就是一共4个瓶盖了

继续上面的步骤,4个瓶盖就可以换一瓶饮料,那现在的瓶盖数就是换的一个饮料的瓶盖加上剩下的一个瓶盖,一共2个瓶盖,此时不足以换了,结束

模拟法就是使用程序来模拟上面的过程,模拟这个换饮料的过程,我们只需要写好一遍换饮料(模拟)的过程,让计算机循环帮我们去换,最终得到答案

参考代码

N = int(input())
count = N # 小明最终能喝到饮料一定大于等于它买入的n瓶饮料
while N // 3: # 当无法换饮料时,程序退出
    huan = N // 3 # 能换的饮料数就是当前瓶盖数整除三
    count += huan  
    yu = N % 3 # 计算换完一次剩余的瓶盖数
    N = yu + huan # 换完后的盖子数等于:换完剩余的盖子数加上换成功的饮料数
print(count) # 输出喝到的饮料
本人属于初学者,能力有限,代码以及理解仅供参考,如有不对请提出指正

原题链接:饮料换购

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值