Board logo

标题: [原创代码] 无忧公主的编程挑战004 [打印本页]

作者: 元芳你怎么看    时间: 2016-4-8 16:04     标题: 无忧公主的编程挑战004

本帖最后由 元芳你怎么看 于 2016-4-8 16:08 编辑
  1. """
  2. 无忧公主的编程挑战004:
  3. 斐波那契数列第 12 项 144,是第一个包含 3 个数字的斐波那契数。我的问题是:第一个包含 1000 个数字的斐波那契数,是第几项呢?
  4. """
  5. def Ghost_Fibonacci(x):
  6. i = 1
  7. while True:
  8. f = Ghost_Fibonacci_Iteration(i)
  9. if f<10**(x-1):
  10. i = i + 1
  11. else:
  12. break
  13. print("The first value of Fibonacci sequence which has 1000 figures is NO.%d" % i)
  14. def Ghost_Fibonacci_Recursion(n):
  15. if n<=0:
  16. print("Please enter an positive integer!")
  17. if n == 1 or n == 2:
  18. return(1)
  19. else:
  20. fn = Ghost_Fibonacci_Recursion(n-1) + Ghost_Fibonacci_Recursion(n-2)
  21. return(fn)
  22. def Ghost_Fibonacci_Iteration(n):
  23. if n<=0:
  24. print("Please enter an positive integer!")
  25. elif n == 1 or n ==2:
  26. return(1)
  27. else:
  28. a,b,c = 1,1,1
  29. for i in range(n-2):
  30. c = a + b
  31. a = b
  32. b = c
  33. return(c)
复制代码

作者: 元芳你怎么看    时间: 2016-4-8 16:06

刚开始用的递归,电脑直接处于懵逼的状态,后来才选用了迭代
作者: codegay    时间: 2016-4-8 21:18

可以在这里找到公众号的链接,
http://weixin.sogou.com/gzh?open ... SIep1Fi12pcThq_9gnr




欢迎光临 批处理之家 (http://bbs.bathome.net/) Powered by Discuz! 7.2