[英]Why doesn't my Python Fibonacci sequence work properly? [Project Euler #25]
因此,最近我一直在研究欧拉计画的问题,并且一切都进行得相对顺利。 直到我击中#25:
“斐波那契数列中第一个包含1000个数字的术语是什么?”
我编写的程序(以下):
def main():
x = 0
y = 1
z = 0
while len(str(z)) != 1000:
z = x + y
x = y
y = z
print z
main()
应该给我正确的答案,但我只会得到:
”
这是错误的答案。 因此,我正在使用斐波那契序列以某种方式生成错误的1000位数字。有人可以帮助我解决该问题吗? 我几乎没主意了。
他们正在寻找n
其中nth
项有1000位(而不是实际数字本身)。
从问题 :
斐波那契数列由递归关系定义:
Fn = Fn−1 + Fn−2, where F1 = 1 and F2 = 1.
因此,前12个术语将是:
F1 = 1 F2 = 1 F3 = 2 F4 = 3 F5 = 5 F6 = 8 F7 = 13 F8 = 21 F9 = 34 F10 = 55 F11 = 89 F12 = 144
第12个术语F12是包含三个数字的第一个术语。
斐波那契数列中第一个包含1000个数字的术语是什么?
因此,对于蛮力解决方案,只需放入一个随循环递增的计数器即可。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.