1 引言 日常生活中,我们常常会遇到一些商场为了促进商品销售进行一系列的促销活动,如买一送一,再来一瓶等等,而本文将通过Python语言探讨瓶盖换物饮料换购问题。 2 问题描述
1 引言
日常生活中,我们常常会遇到一些商场为了促进商品销售进行一系列的促销活动,如买一送一,再来一瓶等等,而本文将通过Python语言探讨瓶盖换物饮料换购问题。
2 问题描述
乐羊羊饮料厂正在举办一次促销活动。乐羊羊C型饮料,凭3个瓶盖可以再换一瓶C型饮料,并且可以一直循环下去,但并不允许赊账。
请你计算一下,如果小明不浪费瓶盖,尽量的参加活动,那么,对于他初始买入的n瓶饮料,最后他一共能得到多少瓶饮料。
示例一
输入:100
输出:149
示例二
输入:101
输出:151
3 算法描述
由题知,凭3个瓶盖可以再换一瓶饮料,我们可以发现:瓶盖数量等于瓶盖、3下取整+瓶盖%3,只要我们每次得到的瓶子数量再加上多余的数量,然后带入到下一次直接n<3退出即可,答案即为每次兑换的瓶子数量之和。
4 结语
本文运用循环让运用数学计算较为繁琐的饮料换购问题通过更为简单的算法得到了解决,未来将继续探讨与python有关的日常生活问题。
附件
代码清单 1 DFS求解1到100求和问题Python代码
n = int(input())
sum = n
while sum >= 3:
n += sum // 3
sum = sum // 3 +sum % 3
print(n)