繁体   English   中英

为什么我的Python Fibonacci序列无法正常工作? [欧拉计划#25]

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM