鱼C论坛

 找回密码
 立即注册
查看: 11863|回复: 124

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

  [复制链接]
发表于 2017-4-2 12:24:43 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
题目海滩上有一堆桃子,五只猴子来分。第一只猴子把这堆桃子平均分为五份,多了一个,这只猴子把多的一个扔入海

中,拿走了一份。第二只猴子把剩下的桃子又平均分成五份,又多了一个,它同样把多的一个扔入海中,拿走了一份,第三、第四、第五只猴子都是这样

做的,问海滩上原来最少有多少个桃子?


程序分析

如果你认真答题,会得到鱼币奖励!!!
                      如果你认真答题,会得到鱼币奖励!!!
                                              如果你认真答题,会得到鱼币奖励!!!


欢迎小伙伴们,一起答题!
如果你有能力,欢迎加入我们!
已经上车老司机:@ooxx7788 @lumber2388779   
点我上车    

游客,如果您要查看本帖隐藏内容请回复


本帖被以下淘专辑推荐:

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2017-4-2 12:25:18 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-4-2 13:26:45 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-4-2 14:25:41 From FishC Mobile | 显示全部楼层
答案
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2017-4-2 14:36:00 | 显示全部楼层
倒着推,最后最少剩余4个,且应该是4的倍数,就这样一一的试。
  1. x = 4
  2. while True:
  3.     y = x
  4.     for i in range(5):
  5.         y = y * 5 / 4 + 1
  6.         if (y -1) % 5 != 0:
  7.             break
  8.     else:
  9.         print('海滩上原来最少有%d个桃子'%int(y))
  10.         break
  11.     x += 4
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 2 反对 0

使用道具 举报

 楼主| 发表于 2017-4-2 14:42:56 | 显示全部楼层
冬雪雪冬 发表于 2017-4-2 14:36
倒着推,最后最少剩余4个,且应该是4的倍数,就这样一一的试。

不给版主鱼币奖励
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-4-2 14:45:17 | 显示全部楼层
新手·ing 发表于 2017-4-2 14:42
不给版主鱼币奖励

嗯, 不用了。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-4-2 14:46:57 | 显示全部楼层

版主还要支持哦
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-4-2 14:50:45 | 显示全部楼层

一定的
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-4-2 18:33:53 | 显示全部楼层
  1. from __future__ import division
  2. i=6
  3. while 1:
  4.     n=5
  5.     y=0
  6.     num=i
  7.     while n!=0:
  8.         if (num-1) % 5 == 0:
  9.             num=(num-1) * 4/5
  10.             y+=1
  11.         n-=1
  12.     if y == 5:
  13.         print i
  14.         break
  15.     else:
  16.         i+=1
复制代码

评分

参与人数 1荣誉 +3 鱼币 +3 收起 理由
新手·ing + 3 + 3

查看全部评分

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

使用道具 举报

发表于 2017-4-2 18:54:55 | 显示全部楼层
  1. def f(n):
  2.        
  3.         if n == 1:
  4.                 return 6
  5.         else:
  6.                 return (f(n-1)*5+1)

  7. for i in range(1,6):
  8.         print ("第%s天:%s个桃子" % (6-i, f(i)))
复制代码

评分

参与人数 1荣誉 +3 鱼币 +3 收起 理由
新手·ing + 3 + 3

查看全部评分

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

使用道具 举报

发表于 2017-4-2 19:53:35 From FishC Mobile | 显示全部楼层
elbert 发表于 2017-4-2 18:54

天才程序员用递归,厉害!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-4-2 21:23:50 | 显示全部楼层

这个问题好像不能用递归,因为当桃子最少的情况下,最后一只猴子分桃子的数量是不确定的,并不是6
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

发表于 2017-4-2 21:25:23 | 显示全部楼层
18813034116 发表于 2017-4-2 21:23
这个问题好像不能用递归,因为当桃子最少的情况下,最后一只猴子分桃子的数量是不确定的,并不是6

重新写了下
  1. def f(m):
  2.         n = m
  3.         i = 0
  4.         while (n-1)%5 == 0:
  5.                 n = (n-1)*4//5
  6.                 i = i+1
  7.                 if i == 5:
  8.                         return (m)

  9. j = 2
  10. while 1 :
  11.         if f(j) != None :
  12.                 print ("最少桃子数是:" + str(j))
  13.                 break
  14.         else :
  15.                 j = j+1
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

发表于 2017-4-2 21:25:52 | 显示全部楼层
支持
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2017-4-2 21:27:04 | 显示全部楼层
ooxx7788 发表于 2017-4-2 19:53
天才程序员用递归,厉害!

理解错了,答案不正确。尴尬了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-4-2 21:29:29 | 显示全部楼层

可以,老哥稳!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-4-2 21:31:53 | 显示全部楼层
好难哦
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-4-2 22:43:47 From FishC Mobile | 显示全部楼层
看看
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2017-4-2 22:44:54 From FishC Mobile | 显示全部楼层
看看看看
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-3-28 20:23

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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