#!/usr/bin/env python # -*- coding: utf-8 -*- # 迭代 def func1(n): s1 = 1 s2 = 1 s3 = 1 temp = 0 i = 1 if n<=2: return 1 while n>2: temp = s3 s1 = s2 s2 = temp s3 = s1 + s2 n -= 1 i += 1 print "第 %d 轮后,s1= %d ,s2= %d ,s3= %d " % (i+1, s1,s2,s3) return s3 # ------------------------------------------- # 递归,超过35后,运算效率明显降低 def func2(n): s = 0 if n<=2: s = 1 else: s = func2(n-1) + func2(n-2) return s print("请输入需要计算的轮数:") n = input() print "【迭代算法】经历 %d 轮后,数值变为 %d" %(n ,func1(n)) print "【递归算法】经历 %d 轮后,数值变为 %d" %(n ,func2(n))
斐波那契数列
最新推荐文章于 2024-11-21 22:08:10 发布