892427369
发表于 2018-7-28 12:44:52
a = 0 #假设海滩上原来桃子的数量
b = 0 #用于迭代计算
while True:
a += 1
b = a
for x in range(5):
b = (b-1)*4/5
if b%4 == 0:
break
print('海滩上原来最少有',a,'个桃子。',sep='')
DavidCowboy
发表于 2018-8-7 14:59:14
sum01 = 0
for i in range(1,6):
sum01 = sum01*5 + 1
print(sum01)
781個,對嗎?
quan-renda
发表于 2018-8-29 23:16:09
本帖最后由 quan-renda 于 2018-8-29 23:21 编辑
s=5
n=5
j=5
while j:
if n<5 or (n>=5 and (n-1)%5!=0 and j<=5):
n=s+1
s+=1
j=5
elif n>=5 and (n-1)%5==0:
j-=1
n=n-1-(n-1)//5
print("海滩上原来最少有%d个桃子" %s)
------------------------------------------------------------------
结果是3121,我的思路想得过于复杂了,楼上的楼上迭代算法思路很好,学习了。
另外好几位的结果都是3906,我之前也算过3906,后来发现理解错了题意,所以3906的结果是错误的。
我不会啊
发表于 2018-8-30 21:51:32
a
d2nte
发表于 2018-9-10 04:58:58
pear = 4
flag = 1
count = int(input("how many answer you want: "))
while flag:
p = pear
for shit in range(5):
if p%4!=0:
pear += 4
break
else:
p = int(p/4*5 + 1)
if shit == 4:
print(p)
count -= 1
if count == 0:
flag = 0
break
pear+= 4
常德水鱼村
发表于 2018-9-14 08:53:41
支持楼主!
冷焰溶冰
发表于 2018-9-16 21:04:27
def next_get(x):
if x%5 == 1:
return (x-1)/5*4
else:
return 0
for x in range(10000):
t = 0
tt = x
for i in range(5):
if next_get(tt):
tt=next_get(tt)
t=t+1
if t == 5:
print("=========",x)
lyslyslys
发表于 2018-9-19 15:31:49
感谢楼主
cvdfer159
发表于 2018-9-26 10:13:34
学习学习
tianyayouzi
发表于 2018-9-26 10:43:19
def Peach(n):
if n == 1:
return n;
else:
return 5 * Peach(n - 1) + 1
print('桃子数量为:%d' % Peach(5))
331361690
发表于 2018-9-26 14:14:00
3121
丨游戏灬需要
发表于 2018-9-26 23:03:31
def q16(momkey =5 ):
'''题目:海滩上有一堆桃子,五只猴子来分。第一只猴子把这堆桃子平均分为五份,
多了一个,这只猴子把多的一个扔入海中,拿走了一份。
第二只猴子把剩下的桃子又平均分成五份,又多了一个,它同样把多的一个扔入海中,
拿走了一份,第三、第四、第五只猴子都是这样做的,
问海滩上原来最少有多少个桃子?
'''
#穷举法
for x in range(9999):
if ((((((((x-1)*4/5)-1)*4/5)-1)*4/5)-1)*4/5)%5 ==1:#公式可以用q()代替
print (x)
break
def q(x ,y=5):
if y ==1:
if x %5 ==1:
return 1
else:
return q(((x-1)*4/5) ,y-1)
阿磕磕
发表于 2018-9-30 12:01:22
1
archlzy
发表于 2018-10-18 09:39:52
回复看咪咪
抬起头~
发表于 2018-10-18 22:37:18
答案
liujian973
发表于 2018-11-23 16:27:48
本帖最后由 liujian973 于 2018-11-27 11:47 编辑
def peach_number(monkeys):
'''monkeys为猴子个数'''
def foo(a,monkeys):
'''a为初始值,monkeys为猴子'''
for i in range(monkeys):
a=a/4*5+1
if int(a) !=a:return False
return a
A=1
while True:
temp =foo(A,5)
if temp !=False:
print(temp)
break
A+=1
double-lee
发表于 2018-12-5 11:21:20
本帖最后由 double-lee 于 2018-12-5 12:15 编辑
错了..删掉...{:10_266:} {:10_266:}
15046058134
发表于 2018-12-12 23:28:44
学习一下
wwyy
发表于 2018-12-14 19:34:44
本帖最后由 wwyy 于 2018-12-14 19:41 编辑
#设第一个到第五个猴子拿的桃子数量分别是a,b,c,d,e
e=1
d=(5*e+1)/4
c=(5*d+1)/4
b=(5*c+1)/4
a=(5*b+1)/4
while True:
if d%1==0 and c%1==0 and b%1==0 and a%1==0:
print('桃子总数最少是',5*a+1)
break
else:
e=e+1
d=(5*e+1)/4
c=(5*d+1)/4
b=(5*c+1)/4
a=(5*b+1)/4
桃子总数最少是 3121.0
dxyxln
发表于 2018-12-17 12:49:33
先给这堆桃子加上4个,设此时共有X个桃子,最后剩下a个桃子.这样:
第一只猴子分完后还剩:(1-1/5)X=(4/5)X;
第二只猴子分完后还剩:(1-1/5)2X;
第三只猴子分完后还剩:(1-1/5)3X;
第四只猴子分完后还剩:(1-1/5)4X;
第五只猴子分完后还剩:(1-1/5)5X=(1024/3125)X;
得:a=(1024/3125)X;
要使a为整数,X最小取3125.
减去加上的4个,所以,这堆桃子最少有3121个。
monkey=1#要分桃的猴子数
peaches=1#桃的总数
peach=1#每次分桃的总数
while(monkey<=5):
#如果成功分桃子
if peach % 5 ==1 and peach // 5 != 0:
#可分桃的总数为现在的4/5
peach=(peach // 5)*4
# 换下一个猴子
monkey += 1
# 如果失败,重新分桃这时可分桃数量加1
else:
peaches += 1
peach = peaches
monkey = 1
print("桃的最小总数为:%s" %peaches)
>>>
============= RESTART:=============
桃的最小总数为:3121