zoukankan      html  css  js  c++  java
  • Python 学习笔记 -- 递归函数

     1 #递归在编程上表现为一个函数调用它自身
     2 #注意,必须设置正确的返回条件
     3 #递归的作用:如汉诺塔、目录索引、快速排序、二叉树遍历
     4 #递归的核心思想就是将规模大的问题变成规模小的问题组合,从而简化问题的解决难度
     5 
     6 #递归函数
     7 #实例一:编写一个power函数,返回x的y次幂
     8 def power(x,y):
     9     if y :
    10         return x * power(x,y-1)
    11     else:
    12         return 1
    13 
    14 print(power(2,3))
    15 
    16 #实例二:编写一个辗转相除法求最大公约数
    17 def gcd(x,y):
    18     if y:
    19         return gcd(y,x%y)
    20     else:
    21         return x
    22 
    23 print(gcd(4,6))
    24 
    25 #实例三:解决汉诺塔
    26 def hanoi(n,x,y,z):
    27     if n == 1:
    28         print(x,"-->",z)
    29     else:
    30         hanoi(n-1,x, z, y )#将前n-1个盘子从x移动到y上
    31         print(x,"-->",z) #将底下最后一个盘子从x移动到z上
    32         hanoi(n-1,y,x,z) #将y上的n-1个盘子移动到z上
    33 
    34 hanoi(3,"X","Y","Z")
  • 相关阅读:
    io系列之常用流一
    C++ 函数参数的默认值
    C++ 函数匹配和作用域声明
    c++ vector 迭代器 demo
    C++ 函数重载和匹配
    C++函数重载和const
    C++函数重载
    iOS开源项目
    Linux系统/网络 笔记
    IO五种模式
  • 原文地址:https://www.cnblogs.com/jiangchenxi/p/8018842.html
Copyright © 2011-2022 走看看