1 斐波那契数列(Fibonacci sequence),又称黄金分割数列、因数学家列昂纳多·斐波那契(Leonardoda Fibonacci)以兔子繁殖为例子而引入,故又称为“兔子数列”,指的是这样一个数列:1、1、2、3、5、8、13、21、34、……在数学上,斐波纳契数列以如下被以递推的方法定义:F(1)=1,F(2)=1, F(n)=F(n-1)+F(n-2)(n>=3,n∈N*)在现代物理、准晶体结构、化学等领域,斐波纳契数列都有直接的应用 2 3 def fib(n): 4 if n<=2: 5 return 1 6 return fib(n-1)+fib(n-2) 7 print(fib(3)) 8 9 10 def f(n): 11 if n==1: 12 return 1 13 return n+f(n-1) 14 print(f(10)) 15 16 17 def fib(n): 18 if n==1: 19 return [1] 20 if n==2: 21 return [1,1] 22 fibs=[1,1] 23 for i in range(2,n): 24 fibs.append(fibs[-1]+fibs[-2]) 25 return fibs 26 print(fib(3)) 27 28 29 # n!=n*(n-1)! 30 def fact(n): 31 if n==2: 32 return 1 33 return fact(n-1)*n 34 print(fact(5)) 35 36 37 def fib(max): 38 n, a, b = 0, 0, 1 39 while n < max: 40 yield b 41 a, b = b, a + b 42 n = n + 1 43 return "ok" # 注意这里,使用return后的结果 44 print(fib(12)) 45 for i in fib(12): 46 print(i)