5. 邮票购买

该篇文章介绍了一个编程问题,如何用3.5元购买10分、20分和50分邮票共18枚,且10分邮票与20分邮票总面值相等。通过递归函数buy_stamps实现解决方案。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

【问题描述】

用3.5元买10分、20分、50分面额邮票共18枚,其中10分邮票与20分邮票的总面值相等,求三种邮票各买几枚(三种面额的都要有)?

【输入形式】
【输出形式】
【样例输入】
【样例输出】

购买10分面额的邮票10枚,20分面额的邮票5枚,50分面额的邮票3枚。

【样例说明】
【评分标准】

def buy_stamps(total_money, total_stamps):
    for i in range(total_money // 10 + 1):
        for j in range(total_money // 20 + 1):
            for k in range(total_money // 50 + 1):
                if i + j + k == total_stamps and 10*i + 20*j + 50*k == total_money and i > 0 and j > 0 and k > 0 and 10*i == 20*j:
                    return i, j, k
    return None

total_money = int(3.5 * 100)

total_stamps = 18
result = buy_stamps(total_money, total_stamps)
print(f"购买10分面额的邮票{result[0]}枚,20分面额的邮票{result[1]}枚,50分面额的邮票{result[2]}枚。")
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值