玩蛇网提供最新Python编程技术信息以及Python资源下载!
您现在的位置: 玩蛇网首页 > Python 100例 > 正文内容

Python回推与递推,编程练习题实例二十八

Python递归练习题已经做过两道题了,相信大家对递归已经有了足够的认知。今天就再来做一道在递归基础上改进的Python练习题吧。

Python回推与递推的练习题如下:
问题描述:
已知有五位朋友在一起。第五位朋友他说自己比第4个人大2岁;
问第4个人岁数,他说比第3个人大2岁;
问第三个人,又说比第2人大两岁;
问第2个人,说比第一个人大两岁;
最后问第一个人,他说是10岁。

要求:求第5个人的年龄是多少。

python解题思路分析:这里又是要用到利用递归的方法来解决这道题了。递归分为回推和递推两个阶段。要想知道第五个人岁数,需知道第四人的岁数,依次类推,推到第一人是10岁。这样再往回推。

Python解题源代码如下:

#!/usr/bin/python
# -*- coding: UTF-8 -*-
#www.iplaypy.com

def age(n):
    if n == 1: c = 10
    else: c = age(n - 1) + 2
    return c
print age(5)

Python回推与递推,编程练习题实例二十八,计算结果为第五个人的年龄是18岁。看着很复杂的问题,其实很简单,就单单把它想成是一道数学题就好啦。

玩蛇网文章,转载请注明出处和文章网址:http://www.iplaypy.com/python-100/11115.html [复制]



我要小额赞助,鼓励作者写出更好的教程↓↓↓

玩蛇网Python QQ群,欢迎加入: ① 279974227 玩蛇网Python新手群
修订日期:2017年03月02日 - 10时01分01秒 发布自玩蛇网

我要分享到:
评论列表(网友评论仅供网友表达个人看法,并不表明本站同意其观点或证实其描述)

必知PYTHON教程 Must Know PYTHON Tutorials

必知PYTHON模块 Must Know PYTHON Modules