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
本来想用递归的方式做,但是写了几次都没成功,最后还是用的循环语句做的。。