Python 编写递归函数,求:有n个人坐在一起,第n个人比第n-1个人大2岁,第n-1个人比第n-2个人大2岁,以此类推,……,第1个人是10岁。输入n求第n个人年龄多大?
时间: 2024-05-10 20:17:16 浏览: 146
可以使用递归的方式来求解。
当n等于1时,第1个人的年龄为10岁。
当n大于1时,第n个人的年龄可以表示为第n-1个人的年龄加2,即age(n) = age(n-1) + 2。因此可以写出递归函数:
```python
def age(n):
if n == 1:
return 10
else:
return age(n - 1) + 2
```
使用该函数可以求得任意一个n对应的第n个人的年龄。例如,输入n=5,输出第5个人的年龄为18岁。
相关问题
python 有5个人坐在一起,问第五个人多少岁,他说比第四个人大2岁。问第四个人多少岁,他说比第三个人大2岁。问第三个人,他说比第二个人大2岁。问第二个个人,他说比第一个人大2岁。最后问第一个人,他说是10岁。请问第五个人多大?编写递归函数int fun(int n),求第五个人多大。在函数main中调用函数fun,并输出计算结果。
根据题目,我们可以得出以下信息:
第二个人:10 + 2 = 12岁
第三个人:12 + 2 = 14岁
第四个人:14 + 2 = 16岁
第五个人:16 + 2 = 18岁
因此,第五个人18岁。我们可以编写递归函数来解决这个问题:
```python
def fun(n):
if n == 1:
return 10
else:
return fun(n-1) + 2
```
在主函数中调用该函数,并输出计算结果:
```python
age = fun(5)
print("第五个人的年龄是:", age)
```
输出结果为:
```
第五个人的年龄是: 18
```
有5个人坐在一起,问第五个人多少岁,他说比第四个人大2岁。问第四个人多少岁,他说比第三个人大2岁。问第三个人,他说比第二个人大2岁。问第二个个人,他说比第一个人大2岁。最后问第一个人,他说是10岁。请问第五个人多大?编写递归函数int fun(int n),求第五个人多大。在函数main中调用函数fun,并输出计算结果。
好的,下面是实现该函数的代码:
```python
def fun(n):
if n == 1:
return 10
else:
return fun(n-1) + 2
age = fun(5)
print("第五个人的年龄为:", age)
```
输出结果为:
```
第五个人的年龄为: 18
```
其中,fun(n) 函数使用了递归的思想,当 n 等于 1 时,返回第一个人的年龄 10,否则返回上一个人的年龄加上 2。在主程序中调用 fun(5) 函数,即可求出第五个人的年龄。
阅读全文