zoukankan      html  css  js  c++  java
  • python的递归函数

    1、递归函数的定义

    在函数内部,可以调用其他函数。如果一个函数在内部调用自身本身,这个函数就是递归函数。

    2、下面分别用阶乘和斐波那契数列举例

    1.阶乘就是递归函数的一个典型的例子,阶乘n! = 1 x 2 x 3 x ... x n,用函数f(n)表示

     1 #阶乘
     2 
     3 def f(n):
     4     if n==1:
     5         return 1          #当n为1时,返回1
     6     
     7     r=n*f(n-1)          #当n为n时,返回1 x 2 x 3 x ... x (n-1) x n
     8     return r
     9 
    10 print(f(5))               #当n为5时,返回1 x 2 x 3 x 4 x5 =120
    View Code

    2.斐波那契数列也是一个典型的例子,斐波那契数列指的是这样一个数列 0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233,377,610,987,1597,2584,4181,6765,10946,17711,28657,46368·····,这个数列从第2项开始,每一项都等于前两项之和

     1 #斐波那契数列
     2 
     3 #这里定义一个函数f,里面三个函数,x表示斐波那契数列的长度,我们这里定义x到10截止,a1表示斐波那契数列的第1个元素,a2为第2个元素
     4 
     5 def f(x,a1,a2):                     
     6 
     7     print (x,a1)   #这里每次打印输出x,a1,这里可以看成是x为斐波那契函数的长度,a1为第x个元素的值
     8 
     9     if x == 10:
    10         return "到底"  #让x最大的值为10
    11 
    12     a3=a1+a2         #前两项数之和为第三个数
    13     r = f(x+1,a2,a3)
    14     return r              
    15 
    16 ret=f(1,0,1)
    17 
    18 print(ret)
    View Code

     上面代码的第10个元素为34

  • 相关阅读:
    【安卓】安卓res文件夹下的资源文件与R.java文件里面类的对应关系
    超简单,安卓模拟器手动root
    C++成员初始化顺序
    C++,当类名和对象名称相同时会发生什么?
    C++ 修饰名的格式探究
    总结一下classpath
    卡鲁斯卡尔
    ST表
    P2672跳石头
    2019奥赛考前刷题计划
  • 原文地址:https://www.cnblogs.com/wspcoding/p/5588872.html
Copyright © 2011-2022 走看看