gpt4 book ai didi

python - 找到第一个超过 100 万的斐波那契数

转载 作者:行者123 更新时间:2023-12-01 01:14:28 25 4
gpt4 key购买 nike

目前正在学习编程类(class),并得到了查找第一个超过一百万的斐波那契数的作业,但我在查找特定数字时遇到了一些麻烦。当第 n: 个数字达到 100 万时,我还应该找到它的索引。我对编码还很陌生,但这就是我到目前为止所想到的,只是很难弄清楚如何实际计算这个数字。

我猜你会用 while 循环替换 for-,但还没有弄清楚如何让它全部工作。

预先感谢:)

def fib_seq(n):
if n <= 2:
return 1
return fib_seq(n-1) + fib_seq(n-2)


lst = []
for i in range(1, 20):
lst.append(i)
print(fib_seq(i), lst)

最佳答案

几点:

  • 您不需要建立一个列表。您只需返回索引和相应的斐波那契数。

  • 斐波那契的递归算法不是最佳实践,除非您使用一些内存。否则,必须一遍又一遍地重新计算相同的数字。请改用迭代方法。

这是这样的:

def fib(atleast):
a = 0
b = 1
i = 1
while b < atleast:
a, b = b, a+b
i += 1
return i, b


print(fib(1000000)) # (31, 1346269)

关于python - 找到第一个超过 100 万的斐波那契数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54494269/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com