剑指offer-10.斐波那契数列
题目:大家都知道斐波那契数列,现在要求输入一个整数n,请你输出斐波那契数列的第n项(从0开始,第0项为0)。n<=39
解题思路:斐波那契数列第n项的值为前两项的和,程序在实现的时候可以采用循环的方式,并且将已经的计算出的中间项保存起来避免重复运算。
具体来说用两个变量 fb_1,fb_2最初保存第一和第二项的值,结果变量 fb_n 保存这两个变量之和,每增加一次循环,将 fb_1的值更新为fb_2,fb_2值更新为fb_n ,而fb_n依然为 fb_1,fb_2之和,直到循环次数达到终止条件(终止条件与输入的n有关),返回fb_n的值
class Solution: def Fibonacci(self, n): # write code here if n==0: return 0 if n==1: return 1 # while n>=0 and n<=39: if n>39: return None fb_1=0 fb_2=1 for i in range(2,n+1): fb_n=fb_1+fb_2 fb_1=fb_2 fb_2=fb_n return fb_n
posted on 2020-04-24 21:24 LenleDaytoy 阅读(118) 评论(0) 编辑 收藏 举报