python3实现分橘子问题

问题:
日本著名数学游戏专家中村义作教授提出这样一个问题:父亲将2520个桔子分给六个儿子。分完 后父亲说:
“老大将分给你的桔子的1/8给老二;老二拿到后连同原先的桔子分1/7给老三;老三拿到后连同原先的桔子分1/6给老四;
老四拿到后连同原先的桔子分1/5给老五;老五拿到后连同原先的桔子分1/4给老六;老六拿到后连同原先的桔子分1/3给老大”。
结果大家手中的桔子正好一样多。问六兄弟原来手中各有多少桔子?

n  表示第几个儿子
beforenum  表示分配之前的橘子数
afternum  表示分配之后的橘子数
m  表示分配的比例
'''


def orange(n, beforenum, afternum, m):
    if n > 6:
        return 0
    else:
        print("老" + str(n) + "原有橘子数" + str(beforenum) + "个")
        # 分给下一个人的橘子数
        givenum = afternum / m
        # 下一个人的橘子数
        nextbeforenum = 420 * (m - 1) / (m - 2) - givenum
        # 下一人加上之前的橘子数的总数
        aftergetnum = nextbeforenum + givenum
        return orange(n + 1, nextbeforenum, aftergetnum, m - 1)


orange(1, 240, 240, 8)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

dcjmessi

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值