Python学习笔记——斐波那契数列实现
来源:互联网 发布:php求和函数 编辑:程序博客网 时间:2024/06/04 01:26
1. 斐波那契数列的实现
1.1 迭代实现
def Rabbit(n):
n1 = 1
n2 = 1
n3 = 1
if n < 1:
print('输入有误')
return -1
while (n-2) > 0:
n3 = n2 + n1
n1 = n2
n2 = n3
n -= 1
return n3
result = Rabbit(20)
if result != -1:
print('总共有%d对小兔子诞生!'% result)
1.2 递归实现
def Rabbit(n):
if n < 1:
print('输入有误!')
return -1
if n == 1 or n == 2:
return 1
else:
return Rabbit(n-1) + Rabbit(n-2)
result = Rabbit(20)
if result != -1:
print('总共有%d对小兔子诞生!'% result)
2 汉诺塔,递归方式解决玩法
#汉诺塔的实现——递归
def hanoi(n,A,B,C):
if n == 1:
print(A,'----->',C)
else:
hanoi(n-1,A,C,B)#将前n-1个盘子从A移动到B上
print(A,'----->',C)#将最底下的最后一个盘子从X移动到C上
hanoi(n-1,B,A,C)#将B上的n-1个盘子移动到C上
n = int(input('请输入汉诺塔的层数:'))
hanoi(n,'A','B','C')
1.1 迭代实现
def Rabbit(n):
n1 = 1
n2 = 1
n3 = 1
if n < 1:
print('输入有误')
return -1
while (n-2) > 0:
n3 = n2 + n1
n1 = n2
n2 = n3
n -= 1
return n3
result = Rabbit(20)
if result != -1:
print('总共有%d对小兔子诞生!'% result)
1.2 递归实现
def Rabbit(n):
if n < 1:
print('输入有误!')
return -1
if n == 1 or n == 2:
return 1
else:
return Rabbit(n-1) + Rabbit(n-2)
result = Rabbit(20)
if result != -1:
print('总共有%d对小兔子诞生!'% result)
2 汉诺塔,递归方式解决玩法
#汉诺塔的实现——递归
def hanoi(n,A,B,C):
if n == 1:
print(A,'----->',C)
else:
hanoi(n-1,A,C,B)#将前n-1个盘子从A移动到B上
print(A,'----->',C)#将最底下的最后一个盘子从X移动到C上
hanoi(n-1,B,A,C)#将B上的n-1个盘子移动到C上
n = int(input('请输入汉诺塔的层数:'))
hanoi(n,'A','B','C')
阅读全文
0 0
- Python学习笔记——斐波那契数列实现
- Python学习笔记 递归-斐波那契数列,汉诺塔
- python实现斐波那契数列
- 斐波那契数列 python实现
- Python 实现斐波那契数列 (黄金分割数列)
- 【Python】Python使用generator实现斐波那契数列
- 斐波那契数列的算法实现 —— python
- Python Tricks(八)—— 斐波那契数列的另类实现
- 斐波那契数列的递归和非递归实现 —— python
- Python笔记----冒泡算法和斐波那契数列
- python学习系列---斐波那契数列的多种实现
- python超简单实现斐波那契数列
- 用Python简单实现斐波那契数列
- 斐波那契数列[剑指offer]之python实现
- Python实现一个简易的斐波那契数列
- python语言实现斐波那契数列
- python递归式的实现斐波那契数列
- python 斐波那契数列缓存方式实现
- 走进Vue.js
- MySQL分区的管理
- CentOS配置时钟同步服务器
- 使用SBT构建Scala项目
- 【Mybatis】实例
- Python学习笔记——斐波那契数列实现
- Linux软件管理-RPM和YUM作用与关系
- 欧拉函数
- ImportError: No module named model_libs
- Java中的集合框架
- How Many Equations Can You Find
- [NOIP2011] 玛雅游戏
- 欧拉函数
- Codeforces Round #426 (Div. 2)