如何解决编写一个程序,该程序将前100个斐波纳契数每隔一个写一次Python
我对Python很陌生,甚至不知道从哪里开始。如果有人可以帮助,将不胜感激:)
解决方法
好吧,我会尽快告诉你答案。
# First two numbers of fibonacci sequence
fib = [0,1]
# Generate the fibonacci sequence
for i in range(98):
# Sum the last two numbers and append it to fib
fib.append(fib[-1] + fib[-2])
# for i in (0,2,4,6...)
for i in range(0,100,2):
print fib[i]
,
最基本的方法(尽管不是最有效的)如下。首先定义一个函数,该函数在特定位置计算斐波那契数。有两种方法可以实现这种迭代和递归。
递归(示例):
def fib(n):
if n < 0:
raise Exception("Invalid Fib Input")
elif n == 0:
return 0
elif n == 1:
return 1
return fib(n - 1) + fib(n - 2)
迭代(示例):
def fib(n):
x = 0
y = 1
z = 1
for i in range(0,n):
x = y;
y = z;
z = x + y;
return x;
Fibonacci系列的两种实现都将起作用。现在,我们可以运行以下代码来打印所有其他斐波那契数。
for i in range(1,2):
print(fib(i))
我们现在完成了。随意询问您是否需要更多说明。如果您想知道如何实施更有效的解决方案,请研究动态编程和存储中间值。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。