初学python100例-案例27 等差数列递归求法 少儿编程案例讲解
【摘要】
题目:等差数列递归求法
有5个人坐在一起,问第五个人多少岁?他说比第4个人大2岁。问第4个人岁数,他说比第3个人大2岁。问第三个人,又说比第2人大两岁。问第2个人,说比第一个人大两岁。最后问第一个人,他说是10岁。请问第五个人多大?
解法1 递归
程序分析
1、利用递归的方法,递归分为回推和递推两个阶段。
2、...
题目:等差数列递归求法
有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
文章来源: scratch.blog.csdn.net,作者:CSDN专家-小兔子编程,版权归原作者所有,如需转载,请联系作者。
原文链接:scratch.blog.csdn.net/article/details/116719033
【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)