初学python算法100例-案例27 等差数列递归求法
Posted 技术专家团-小兔子编程
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了初学python算法100例-案例27 等差数列递归求法相关的知识,希望对你有一定的参考价值。
题目:等差数列递归求法
有5个人坐在一起,问第五个人多少岁?他说比第4个人大2岁。问第4个人岁数,他说比第3个人大2岁。问第三个人,又说比第2人大两岁。问第2个人,说比第一个人大两岁。最后问第一个人,他说是10岁。请问第五个人多大?
解法1 递归
程序分析
1、利用递归的方法,递归分为回推和递推两个阶段。
2、要想知道第五个人岁数,需知道第四人的岁数,
3、依次类推,推到第一人(10岁),再往回推。
代码编写
def fn(n):
if n==1:
return 10
return 2+fn(n-1)
print("第一个人的年龄为:%d"%(fn(5)))
程序结果
第一个人的年龄为:18
解法2 递归2
程序分析
和上面分析差不多
def age(n):
if n == 1: c = 10
else: c = age(n - 1) + 2
return c
print ("第一个人的年龄为:%d"%age(5))
程序结果
第一个人的年龄为:18
以上是关于初学python算法100例-案例27 等差数列递归求法的主要内容,如果未能解决你的问题,请参考以下文章