# 递推算法:根据已知条件,求结果(或者根据结果求未知条件)def recusive(n): """ 返回斐波那契数列某一位(n》=1)的结果 """ if n == 1 or n == 2: return 1 # 开始递推f(3) = f(2) + f(1) f(4) = f(3) + f(2) ... f(15) = f(14) + f(13) dict1 = {1:1, 2:1} for i in range(3, n+1): # f(3) = f(2) + f(1) # f(i) = f(i-1) + f(i-2) dict1[i] = dict1[i-1] + dict1[i-2] return dict1[n] # return dict1 # 输出结果:{1: 1, 2: 1, 3: 2, 4: 3, 5: 5, 6: 8, 7: 13, 8: 21, 9: 34, 10: 55, 11: 89, 12: 144, 13: 233, 14: 377, 15: 610}# 函数调用print(recusive(15))