题目描述
有n个人坐在一起,问第n个人多少岁?他说比第n-1个人大m岁。问第n-1个人岁数,他说比第n-2个人大m岁。问第n-2个人,又说比第n-3人大m岁。......最后问第一个人,他说是K岁。请问第n个人多大?
输入
有多组测试数据。每组一行,分别输入3个整数 n, m 和k
输出
输出第n个人的岁数
样例输入
5 2 10
样例输出
18
#include<iostream>
#include<cmath>
#include<cstring>
using namespace std;
int f(int n);
int n,m,k;
int main()
{
while(cin>>n>>m>>k)
{
cout<<f(n);
cout<<endl;
}
return 0;
}
int f(int n)
{
if(n==1)return k;
else
return f(n-1)+m;
}
本文探讨了一个递归算法的应用实例:通过递归调用解决年龄递增问题,即求解一系列年龄之间的固定差值。文章包含了一段C++代码,用于计算第n个人的年龄,其中每个人的年龄比前一个人大m岁,直至第一个人的年龄为k岁。通过解析代码,读者可以了解递归函数的工作原理,以及如何利用递归解决实际问题。
1866

被折叠的 条评论
为什么被折叠?



