1199 - C语言8.2
时间限制 : 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