题目:题目:有5个人坐在一起,问第五个人多少岁,他说比第4个人大2岁;问第4个人多少数,他说比第3个人大2岁;问第三个人,又说比第2人大两岁;问第2个人,说比第一个人大两岁;最后问第一个人,他说是10岁。请问第五个人多大?

程序分析:(方法一)利用递归的方法,递归分为回推和递推两个阶段。要想知道第五个人岁数,需知道第四人的岁数,依次类推,推到第一人(10岁),再往回推。

(方法二)非递归方法,第一个人10岁,后面每一个人都比前一个大2岁,正推,使用循环执行,每到下一个人加两岁,直到第五个人。

方法一程序源代码实例:

#!/usr/bin/python

# -*- coding: UTF-8 -*-

def age(n):

   if n == 1: c = 10

   else: c = age(n - 1) + 2

   return c

print age(5)

输出结果:18

方法二请大家自行尝试。

本站内容未经许可,禁止任何网站及个人进行转载。