鱼C论坛

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

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

  [复制链接]
发表于 2017-4-26 16:52:18 | 显示全部楼层
sunshine似我 发表于 2017-4-26 15:51
为什么是最少剩余4个

6个分成5份,扔掉1个,再拿走1个,剩4个。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-4-26 16:54:21 | 显示全部楼层
冬雪雪冬 发表于 2017-4-26 16:52
6个分成5份,扔掉1个,再拿走1个,剩4个。

那就是第四只猴子剩了这么多,第五只还没有分
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-4-26 16:55:58 | 显示全部楼层
第四只猴子剩了6个,第五只剩了4个
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 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
打印一下发现还真不少,发现巨额桃子,估计这五只猴子乐疯了
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 个桃子
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 0 反对 2

使用道具 举报

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

使用道具 举报

发表于 2017-6-6 20:05:14 From FishC Mobile | 显示全部楼层
多看答案
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

使用道具 举报

发表于 2017-8-15 14:00:56 | 显示全部楼层
#假设第五只猴子分前只有6个,平均分我5份,多的1个扔掉,这样是计算最少的情况
 x = 6
 for i in range(4):  # 分了4次
       x = 5 *(x + 1)
          
 print(x)

输出结果:4530

看看各位大佬解答
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

使用道具 举报

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

使用道具 举报

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

使用道具 举报

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

使用道具 举报

发表于 2017-11-13 11:12:53 | 显示全部楼层
这题太难了,搞了2个小时,没搞出来,我怀疑自己脑子坏了,算了不做了,已经蒙圈了,上面的答案我看了,很多人回答的也不对。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-11-14 11:14:36 | 显示全部楼层
看一下
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-2-25 23:10:19 | 显示全部楼层
a = 6
for i in range(1,5):
    a = a * 5 + 1
print(a)
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-2-25 23:51:06 From FishC Mobile | 显示全部楼层
???
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

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

使用道具 举报

发表于 2018-3-1 15:20:09 | 显示全部楼层
我是来抄答案的!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

使用道具 举报

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-1-30 08:50

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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