鱼C论坛

 找回密码
 立即注册
楼主: 新手·ing

[技术交流] Python:每日一题 16(答题领鱼币)

  [复制链接]
发表于 2018-7-28 12:44:52 | 显示全部楼层
  1. a = 0          #假设海滩上原来桃子的数量
  2. b = 0          #用于迭代计算
  3. while True:
  4.     a += 1
  5.     b = a
  6.     for x in range(5):
  7.         b = (b-1)*4/5
  8.     if b%4 == 0:
  9.         break
  10. print('海滩上原来最少有',a,'个桃子。',sep='')
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

发表于 2018-8-7 14:59:14 | 显示全部楼层
sum01 = 0
for i in range(1,6):
    sum01 = sum01*5 + 1

print(sum01)

781個,對嗎?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 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的结果是错误的。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-8-30 21:51:32 | 显示全部楼层
a
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2018-9-10 04:58:58 | 显示全部楼层
  1. pear = 4
  2. flag = 1
  3. count = int(input("how many answer you want: "))
  4. while flag:
  5.     p = pear
  6.     for shit in range(5):
  7.         if p%4!=0:
  8.             pear += 4
  9.             break
  10.         else:
  11.             p = int(p/4*5 + 1)
  12.             if shit == 4:
  13.                 print(p)
  14.                 count -= 1
  15.                 if count == 0:
  16.                     flag = 0
  17.                     break
  18.                 pear+= 4
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-9-14 08:53:41 | 显示全部楼层
支持楼主!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 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)
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-9-19 15:31:49 | 显示全部楼层
感谢楼主
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-9-26 10:13:34 | 显示全部楼层
学习学习
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 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))
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-9-26 14:14:00 | 显示全部楼层
3121
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 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)
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-9-30 12:01:22 | 显示全部楼层
1
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2018-10-18 09:39:52 | 显示全部楼层
回复看咪咪
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-10-18 22:37:18 | 显示全部楼层
答案
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 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
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-12-5 11:21:20 | 显示全部楼层
本帖最后由 double-lee 于 2018-12-5 12:15 编辑

错了..删掉...
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-12-12 23:28:44 | 显示全部楼层
学习一下
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-12-14 19:34:44 | 显示全部楼层
本帖最后由 wwyy 于 2018-12-14 19:41 编辑
  1. #设第一个到第五个猴子拿的桃子数量分别是a,b,c,d,e
  2. e=1
  3. d=(5*e+1)/4
  4. c=(5*d+1)/4
  5. b=(5*c+1)/4
  6. a=(5*b+1)/4
  7. while True:
  8.         if d%1==0 and c%1==0 and b%1==0 and a%1==0:
  9.                 print('桃子总数最少是',5*a+1)
  10.                 break
  11.         else:
  12.                 e=e+1
  13.                 d=(5*e+1)/4
  14.                 c=(5*d+1)/4
  15.                 b=(5*c+1)/4
  16.                 a=(5*b+1)/4

  17.                
  18. 桃子总数最少是 3121.0
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-12-17 12:49:33 | 显示全部楼层
先给这堆桃子加上4个,设此时共有X个桃子,最后剩下a个桃子.这样:&#160;
第一只猴子分完后还剩:(1-1/5)X=(4/5)X;&#160;
第二只猴子分完后还剩:(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个。

  1. monkey=1#要分桃的猴子数
  2. peaches=1#桃的总数
  3. peach=1#每次分桃的总数

  4. while(monkey<=5):
  5.         #如果成功分桃子
  6.         if peach % 5 ==1 and peach // 5 != 0:
  7.                 #可分桃的总数为现在的4/5
  8.                 peach=(peach // 5)*4
  9.                 # 换下一个猴子
  10.                 monkey += 1
  11.         # 如果失败,重新分桃这时可分桃数量加1
  12.         else:
  13.                 peaches += 1
  14.                 peach = peaches
  15.                 monkey = 1
  16. print("桃的最小总数为:%s" %peaches)
复制代码


  1. >>>
  2. ============= RESTART:=============
  3. 桃的最小总数为:3121
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-4-29 00:57

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表