【递归】小联习

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

 

思路:  ①循环相加

       ②递归

代码:①

  

def r(x):
y = 10
if x == 1:
return y
else:
while x > 1:
x -= 1
y += 2
return y


x = int(input('请输入需要询问的人序号:'))
print(r(x))

 

 

   ②


def red(x):
if x == 1:
y = 10
else:
y = red(x-1)+2
return y


x = int(input('请输入需要询问的人序号:'))
print(red(x))
posted @ 2018-10-19 22:03  Pwsun  阅读(138)  评论(0编辑  收藏  举报