Problem E:年龄问题
Time Limit:1000MS Memory Limit:65536K
Total Submit:5 Accepted:3
Description
有n个人坐在一起,问第n个人多少岁?他说比第n-1个人大m岁。问第n-1个人岁数,他说比第n-2个人大m岁。问第n-2个人,又说比第n-3人大m岁。......最后问第一个人,他说是K岁。请问第n个人多大? (可递归函数实现)
Input
多组测试数据 每组一行 分别输入3个整数 n, m 和k
Output
输出第n个人的岁数
Sample Input
5 2 10
Sample Output
18
源代码:
#include <stdio.h>
#include <stdlib.h>
int main()
{ int n,m,k;
int age(int x,int y,int z);
while(scanf("%d %d %d",&n,&m,&k)!=EOF)
{
printf("%d\n",age(n,m,k));
}
return 0;
}
int age(int x,int y,int z)
{ int c;
if(x==1) c=z;
else c=age(x-1,y,z)+y;
return c;
}
一开始,我把函数的定义放在主函数里面,提交时出现了编译错误,但把函数定义放到主函数外就AC了,不知道为什么,这两种有什么不一样吗??运行的结果都是一样的呀!困惑ing.......知道的童鞋留个言告诉我哈,谢啦!