饮料换购

Posted 算法与编程之美

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了饮料换购相关的知识,希望对你有一定的参考价值。

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)

以上是关于饮料换购的主要内容,如果未能解决你的问题,请参考以下文章

饮料换购

饮料换购 -- 蓝桥杯

蓝桥杯-饮料换购

LQ0008 饮料换购模拟+数学

LQ0008 饮料换购模拟+数学

饮料瓶盖二维码红包是怎样实现的?