1199 - C语言8.2

通过次数

0

提交次数

0

时间限制 : 1 秒 内存限制 : 32 MB

有n个人坐在一起。问第n个人多少岁,他说比第n-1个人大k岁。问第n-1个人多少岁,他说比第n-2个人大k岁。问第n-2个人多少岁,他说比第n-3个人大k岁。问第n-3个人多少岁,他说比第n-4个人大k岁。这样问下去,除去第1个人,所有人都说比编号小1的人大k岁,而第1个人说自己a岁。使用函数递归的方法计算并输出第n个人的年龄。

题目输入

3个用空格隔开的正整数n、k、a,分别为题目描述中代表的含义。输入保证n、k、a均不超过100。

题目输出

第n个人的年龄。

请注意行尾输出换行。

输入/输出样例

输入格式

5 2 10

输出格式

18

C语言解答

#include<stdio.h>
int main()
{
	int n,k,a,sn;
	scanf("%d%d%d",&n,&k,&a);
	sn=a+(n-1)*k;
	printf("%d\n",sn);
	return 0;
}

C++解答

#include <stdio.h>
int n, k, a;
int age(int num) {
	if (num == 1)
		return a;
	return k + age(num - 1);
}
int main() {
	scanf("%d%d%d", &n, &k, &a);
	printf("%d\n", age(n));
	return 0;
}

Java解答



import java.util.Scanner;

public class Main{
   private static Scanner s = new Scanner(System.in) ;
   
   public static void main(String[] args) {
	 int n = s.nextInt() ;
	 int k = s.nextInt() ;
	 int a = s.nextInt() ;
	 
	 if(n<=100&&k<=100&&a<=100){
		 System.out.println(a+(n-1)*k);
	 }
   }
}

Python解答

n, k, a = [int(i) for i in raw_input().split()]
print a + (n - 1) * k