冬雪雪冬
发表于 2017-4-26 16:52:18
sunshine似我 发表于 2017-4-26 15:51
为什么是最少剩余4个
6个分成5份,扔掉1个,再拿走1个,剩4个。
sunshine似我
发表于 2017-4-26 16:54:21
冬雪雪冬 发表于 2017-4-26 16:52
6个分成5份,扔掉1个,再拿走1个,剩4个。
那就是第四只猴子剩了这么多,第五只还没有分
冬雪雪冬
发表于 2017-4-26 16:55:58
第四只猴子剩了6个,第五只剩了4个
solomonxian
发表于 2017-5-2 20:57:33
哪里都有这群猴子的身影啊
def cal():
remain = 4# 最终剩下四份,最低是4,理论上桃子是整个的
while True:
least = remain
for i in range(5): # 分了五次
least = least *5 /4 +1
if least%1 != 0:# 不是整数就是数字不对
break
elif i ==4:
return least
else:
pass
remain += 4# 最少加4
打印一下发现还真不少,发现巨额桃子,估计这五只猴子乐疯了{:10_256:}
least = cal()
for j in range(1,6):
print("第 %d 只猴子拿之前有 %d 个桃子" %(j, least))
least = (least - 1) *4 /5
print("最后剩下 %d 个桃子" %least)
第 1 只猴子拿之前有 3121 个桃子
第 2 只猴子拿之前有 2496 个桃子
第 3 只猴子拿之前有 1996 个桃子
第 4 只猴子拿之前有 1596 个桃子
第 5 只猴子拿之前有 1276 个桃子
最后剩下 1020 个桃子
wl1352
发表于 2017-6-6 10:19:44
学习下
花寺情僧
发表于 2017-6-6 20:05:14
多看答案
Bekkkkkahhh
发表于 2017-8-1 15:37:04
for i in range(1000):
get=i
count=0
for each in range(5):
beforegetnumber=get*5+1
get=beforegetnumber/4
count+=1
if get-int(get)!=0:
break
if count==5 and beforegetnumber-int(beforegetnumber)==0:
print('一开始最少有%d个桃子'% int(beforegetnumber))
break
bozhen
发表于 2017-8-15 14:00:56
#假设第五只猴子分前只有6个,平均分我5份,多的1个扔掉,这样是计算最少的情况
x = 6
for i in range(4):# 分了4次
x = 5 *(x + 1)
print(x)
输出结果:4530
看看各位大佬解答
张大象
发表于 2017-9-15 14:28:37
tmp = 4
while True:
x = tmp
for i in range(4):
x = x/4*5 + 1
if x % 4 != 0:
break
else:
x = x/4*5 + 1
if (x-1) % 5!= 0:
pass
else:
print('一开始最少有%d个桃子'%int(x))
break
tmp += 4
gausser
发表于 2017-9-17 11:06:22
from __future__ import division
last = 4 #The quantity of Peaches is at least 4 after The 5th Monkey take
while True:
tmp = last#Every time "last" start
for i in range(5):
tmp = tmp / 4 * 5 + 1 # Recursive Formula between the monkey take the quantity of peaches
#print tmp
if tmp% 4 != 0: # The quantity of peaches left every time is a multiple of four
break
else:
print "The total is: ", tmp# Print the final Quantity
break
last = last + 1 # one by one
aixuexi82
发表于 2017-9-28 15:36:11
def monkey(n):
if n == 1:
return 6
else:
return monkey(n-1)*5+1
peach = monkey(5)
print('至少有%d个桃子!' % peach)
朔夜
发表于 2017-10-17 16:52:56
def fun(temp,count,app):
if count<=5:
if(temp%5==1):
app.append(temp)
count=count+1
fun(((temp-1)/5)*4,count,app)
if __name__=='__main__':
i=0
while True:
print(i)
count=1
array=[]
fun(i,count,array)
i=i+1
if len(array)==5:
print(array)
break
石小龙
发表于 2017-11-13 11:12:53
这题太难了,搞了2个小时,没搞出来,我怀疑自己脑子坏了,算了不做了,已经蒙圈了,上面的答案我看了,很多人回答的也不对。
a5509
发表于 2017-11-14 11:14:36
看一下
纳兰小寒
发表于 2018-2-25 23:10:19
a = 6
for i in range(1,5):
a = a * 5 + 1
print(a)
夜寐子游
发表于 2018-2-25 23:51:06
???
victor.xu
发表于 2018-2-26 14:44:22
看看
topscien
发表于 2018-3-1 15:20:09
我是来抄答案的!{:5_97:}
moc
发表于 2018-3-1 15:33:21
倒着推,第五只猴子走后,剩下的桃子数一定是4的倍数……
remainder = 0
num = 0.2
while num % 1 != 0:
remainder += 4
num = remainder
for i in range(5, 0, -1):
num = num / 4 * 5 + 1
print(int(num))
大头目
发表于 2018-3-8 12:18:12
def calc_n():
n = 0
while True :
n = n+1
print(n)
sum_n = n * 5 + 1
for i in range(0,4):
sum_n = sum_n * 5 + 1
yield sum_n
generator_a = calc_n()
for i in range(1000):
print(next(generator_a))
input()