Python实战,解决数学小问题猴子分香蕉

Python实战,解决数学小问题猴子分香蕉

问题描述

一个岛上有5个猴子,和一堆香蕉。第一个猴子先来,把香蕉平分成了5份,结果多出来一个香蕉,他就把香蕉扔了,然后抱走一份走了。第二个猴子又来了,把剩下的香蕉又平分成了5份,还是多一个,他把多的香蕉扔了,然后抱走一份走了。第三个猴子又来了,也把剩下的香蕉分成5份,还是多一个,他也把多的香蕉扔了。第四个猴子也是同样如此, 第五个猴子也是如此。
问总共有多少个香蕉。

解答

其实这个问题很简单,试着编了一个Py 解决了一下

源代码如下, fentao.py

def fentao(x):
    num = x
    n = 5
    while n > 0:
        x = 0.8*(x-1)
        if int(x) < x:
            return None
        else:
            n = n-1
    if int(x) == x:
        print(num,"is the right!!!!!!!!!!!key")
        return 1
    else:
        pass
    return None


a = 1
while a < 10000:
    fentao(a)
    a = a+1 

本来想用递归的方式做,但是写了几次都没成功,最后还是用的循环语句做的。。

    原文作者:下笔有神胡不思
    原文地址: https://www.jianshu.com/p/8947f4c7f13b
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞