刮刮卡兑换

题目描述(模拟实现)

英氏公司的婴儿米粉每盒里都有一张刮刮卡,最近正在举办一次促销优惠活动。凭3个刮刮卡可以兑换一盒同等价位的米粉,并且可以一直循环下去(但不允许暂借或赊账)。请你计算一下,如果不浪费刮刮卡,尽量地参加活动,那么,对于初始买入的n盒米粉,最后一共能拿到多少盒米粉。

输入

一个整数n,表示开始购买的米粉数量(0<n<10000)

输出

一个整数,表示实际得到的米粉数量

样例输入

11

样例输出

16

破题思路

主要涉及函数:一个计算两个数的商和余数的函数,商和余数的加和作为下一次兑换时可使用的卡片数。

程序源码

x = int(input())
r = 3
sum = x
y = 0
while x > 0:
#divmod() 函数把除数和余数运算结果结合起来,返回一个包含商和余数的元组(a // b, a % b)。
    x, y = divmod(x+y,3)
    sum += x
print(sum)
原文地址:https://www.cnblogs.com/wisteria68/p/12385894.html