微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

编写一个程序,该程序将前100个斐波纳契数每隔一个写一次Python

如何解决编写一个程序,该程序将前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 举报,一经查实,本站将立刻删除。