用python解分椰子的数学题应该怎么解?

小弟最近在学python,想起了之前看到的分椰子数学题,所以想看一下用python需要如何解,请有空的大佬指点一下。

问题如下:

话说某天, 一艘海盗船被天上砸下来的一头牛给击中了,

5个倒霉的家伙只好逃难到一个孤岛,

发现岛上孤零零的,幸好有有棵椰子树,还有一只猴子!

大家把椰子全部采摘下来放在一起,但是天已经很晚了,所以就睡觉先.

晚上某个家伙悄悄的起床,悄悄的将椰子分成5份,

结果发现多一个椰子,顺手就给了幸运的猴子,

然后又悄悄的藏了一份,然后把剩下的椰子混在一起放回原处,最后还是悄悄滴回去睡觉了.

过了会儿,另一个家伙也悄悄的起床,悄悄的将剩下的椰子分成5份,

结果发现多一个椰子,顺手就又给了幸运的猴子,

然后又悄悄滴藏了一份,把剩下的椰子混在一起放回原处,最后还是悄悄滴回去睡觉了.

又过了一会 ......

又过了一会 ...

总之5个家伙都起床过,都做了一样的事情。

早上大家都起床,各自心怀鬼胎的分椰子了,

这个猴子还真不是一般的幸运,因为这次把椰子分成5分后居然还是多一个椰子,只好又给它了.

问题来了,这堆椰子最少有多少个?

 

请问用python解的话应该如何写?

虽然我自己没写出来,但是我找到了

https://blog.csdn.net/u013824564/article/details/106911779

给你写个速写版本吧,你后期自己优化

def split_coco():
    n = 0
    while 1:
        n += 1
        cocos = n * 5 + 1
        if (cocos - 1) % 5 == 0:
            cocos = (cocos-1) - (cocos-1) // 5
            if (cocos - 1) % 5 == 0:
                cocos = (cocos-1) - (cocos-1) // 5
                if (cocos - 1) % 5 == 0:
                    cocos = (cocos-1) - (cocos-1) // 5
                    if (cocos - 1) % 5 == 0:
                        cocos = (cocos-1) - (cocos-1) // 5
                        if (cocos - 1) % 5 == 0:
                            cocos = (cocos-1) - (cocos-1) // 5
                            if (cocos - 1) % 5 == 0:
                                return '椰子总数为:' + str(n * 5 + 1) + '个'
        else:
            cocos = n * 5 + 1

递归

用递归法