zoukankan      html  css  js  c++  java
  • 阶乘和斐波那契数列

     1 斐波那契数列(Fibonacci sequence),又称黄金分割数列、因数学家列昂纳多·斐波那契(Leonardoda Fibonacci)以兔子繁殖为例子而引入,故又称为“兔子数列”,指的是这样一个数列:112358132134、……在数学上,斐波纳契数列以如下被以递推的方法定义: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)

  • 相关阅读:
    四种wordpress常用的循环结构
    自动创建网页文章目录结构
    shell
    SSH
    架构
    Https
    if-else、switch、while、for
    do-while
    const
    Tail Call
  • 原文地址:https://www.cnblogs.com/zpdbkshangshanluoshuo/p/10490509.html
Copyright © 2011-2022 走看看