鱼C论坛

 找回密码
 立即注册
查看: 1047|回复: 15

求指教

[复制链接]
发表于 2018-1-23 16:43:59 | 显示全部楼层 |阅读模式

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

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

x
1,1,2,3,5,8,13,21.....
第三个数字为前两个数字之和
求第一千个数字
代码怎么写

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

使用道具 举报

发表于 2018-1-23 17:01:47 | 显示全部楼层
如果机器递归深度不行就别用这个
  1. def myCal(x):
  2.     if x==1 or x==2:
  3.         return 1
  4.     elif x>=3:
  5.         return myCal(x-1)+myCal(x-2)
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-1-23 17:07:47 | 显示全部楼层
塔利班 发表于 2018-1-23 17:01
如果机器递归深度不行就别用这个

一只金融狗刚刚学习就被老板布置作业。。。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-1-23 17:09:03 | 显示全部楼层
塔利班 发表于 2018-1-23 17:01
如果机器递归深度不行就别用这个

不是很明白,而且没有跑起来
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-1-23 17:11:02 | 显示全部楼层
没明白你要1000个数字,还是到1000?
  1. a,b=0,1
  2. while a<1000:
  3.     a,b=b,a+b
  4.     print(a)
复制代码


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

使用道具 举报

发表于 2018-1-23 17:11:21 | 显示全部楼层
玩这个吧,不用递归
  1. def newCal(x):
  2.     if x==1 or x==2:
  3.         return 1
  4.     elif x>=3:
  5.         list=[1,1]
  6.         for i in range(2,x):
  7.             list.append(list[i-1]+list[i-2])
  8.         return list[x-1]
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-1-23 17:12:59 | 显示全部楼层
ap18z2006 发表于 2018-1-23 17:09
不是很明白,而且没有跑起来

一般是递归运行的慢,看下面那个
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-1-23 17:20:50 | 显示全部楼层
参照楼上兄弟,的确更换来的更快~~我又来改代码了
  1. def com(x):
  2.     a,b=0,1
  3.     while x:
  4.         a,b=b,a+b
  5.         x-=1
  6.     print(a)
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-1-23 17:25:08 | 显示全部楼层
像番茄加两个蛋 发表于 2018-1-23 17:11
没明白你要1000个数字,还是到1000?

排序后第1000个数字
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-1-23 17:28:07 | 显示全部楼层
塔利班 发表于 2018-1-23 17:20
参照楼上兄弟,的确更换来的更快~~我又来改代码了

或者说,在这个序列里我输入第几个数字后它显示这个序列中的那个数字
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-1-23 17:37:48 | 显示全部楼层
ap18z2006 发表于 2018-1-23 17:28
或者说,在这个序列里我输入第几个数字后它显示这个序列中的那个数字

我不是不明白1000在你这里意思的兄弟,我是给你发程序那个,那哥们可能还考虑最大到1000,
而不是第1000个,我发的后2个不用递归的可用,只要执行,运行函数带入你想要的第多少X就行
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-1-23 17:39:32 | 显示全部楼层
塔利班 发表于 2018-1-23 17:37
我不是不明白1000在你这里意思的兄弟,我是给你发程序那个,那哥们可能还考虑最大到1000,
而不是第1000 ...

哦哦,谢谢~我琢磨琢磨
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-1-23 17:40:28 | 显示全部楼层
ap18z2006 发表于 2018-1-23 17:25
排序后第1000个数字

那你就广大范围就可以了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-1-23 17:45:38 | 显示全部楼层
用手算,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,或者学学奥数,再把公式写进去
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-1-23 18:12:29 | 显示全部楼层
不知道你自己有没有去尝试。
我帮你写完成吧。
  1. count=1
  2. a,b=0,1
  3. while count<=1000:
  4.     a,b=b,a+b
  5.     print('第{}个:{}'.format(count,a))
  6.     count+=1
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-1-23 20:34:57 | 显示全部楼层
斐波拉契数列!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-25 11:36

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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