题解 | #斐波那契数列#
斐波那契数列
http://www.nowcoder.com/practice/c6c7742f5ba7442aada113136ddea0c3
不使用递归:
# -*- coding:utf-8 -*-
class Solution:
def Fibonacci(self, n):
# write code here
a =0
b = 1
i=0
if n == 0:
return 0
else:
while i < n: #n等于几就循环几圈
i+=1
b, a= a+b,b #这样写时候,左边的两个值分别用旧的a,b如果分成两行的话就乱套了,a是n的值,b是n+1的值
return a使用递归:
def fab(n):
if n == 0:
return 0
elif 0<n<=2:
return 1
else:
return fab(n-1)+fab(n-2)
print(fab(5))