|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
本帖最后由 Gabber 于 2017-8-20 00:29 编辑
递归
# 递归两个条件:1.调用函数自身的行为;2.有一个正确的返回条件(即可以停止循环的条件)
汉诺塔
- def hanoi(n,x,y,z):
- if n == 1:
- print(x,'-->',z)
- else:
- hanoi(n-1,x,z,y) #将前n-1个盘子从x移到y上
- print(x,'-->',z) #将最底下的最后一个盘子从x移到z上
- hanoi(n-1,y,x,z) #将y上的n-1个盘子移动到z上
- n = int(input('请输入汉诺塔层数:'))
- hanoi(n,'X','Y','Z')
复制代码
公因数
- def gcd(x, y):
- if y:
- return gcd(y, x%y)
- else:
- return x
- print(gcd(4,6))
复制代码
斐波那契
- def fib2(n):
- if n < 1:
- print('您的输入有误!')
- return -1
- if n==1 or n==2:
- return 1
- else:
- return fib2(n-1)+fib2(n-2)
- result = fib2(20)
- if result != -1:
- print('共有%d对兔子'% result)
复制代码 |
评分
-
查看全部评分
|