python递推法例题_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岁。看着很复杂的问题,其实很简单,就单单把它想成是一道数学题就好啦。

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

相关文章 Recommend

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值