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
页: 1 2 3 4 [5] 6 7
查看完整版本: Python:每日一题 16(答题领鱼币)