**#Python入门23-24**
知识点:
0.斐波那契数列实现:
(1)迭代:
(2)递归:
但是当n很大时,迭代会比递归快很多很多。
1.递归求解汉诺塔
可以分为三个步骤:
(1)将前63个盘子从x移到以上。
(2)将最底下的第64个盘子从x移到z上。
(3)将Y上的63个盘子移动到z上。
问题1:将x上的63个盘子借助z移到Y上
(1)将前62个盘子从x移到z上。
(2)将最底下的第63个盘子移动到Y上。
(3)将z上的62个盘子移到Y上。
问题2:将Y上的63个盘子借助x移到z上
(1)将前62个盘子从Y移到x上。
(2)将最底下的第63个盘子移到z上。
(3)将x上的62个盘子移到Y上。
课后练习:
0.写一个函数get_digits(n),将参数n分解出每个位的数字并按顺序存放在列表中。举例:get_digits(12345)==>[1,2,3,4,5]。
1.还记得求回文字符串那道题吗?现在让你使用递归的方式来求解。
2.使用递归编程求解以下问题:
有5个人坐在一起,问第五个人多少岁?他说比第4个人大2岁,问第四个人,他说比第3个人大2岁,问第三个人,他说比第二个人大2岁,问第二个人,说比第一个人大2岁,问第一个人说比是10岁,请问第五个人多少岁?