原题:年龄问题(递归)
题目描述:
有5个人坐在一起,问第5个人多少岁,他说比第4个人大2岁。 问第4个人多少岁,他说比第4个3人大2岁。 问第3个人多少岁,他说比第2个人大2岁。 问第2个人多少岁,他说比第1个人大2岁。 最后问第1个人多少岁,他说他是10岁。
代码执行:
//年龄问题
#include<stdio.h>
int age(int n)
{
//找重复:age(n - 1)是原问题的子问题
//找边界
if (n == 1)
return 10;
return age(n - 1) + 2;
}
int main()
{
int n = 0;
scanf("%d", &n);
int ret = age(n);
printf("%d\n", ret);
return 0;
}