[编程题] 递归实现等差数列–招银面试题1
递归实现等差数列–招银面试题
题目描述
使用递归实现一个球等差数列的和,要求,输入首项a,公差d,数列长度n,求出sum
示例
例如:
输入: 1 1 3
输出: 6(1 +2+ 3 = 6)
Java代码
package ncompanydemos.p1_zhaopyin;
import java.util.Scanner;
/**
* @author jiyongjia
* @create 2020/7/11 - 14:04
* @descp: 递归实现等差求和
*/
public class Exam02 {
public static int sum = 0;
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
System.out.println("请依次输入首项a,公差d,元素个数n后回车:");
int a = in.nextInt();
int d = in.nextInt();
int n = in.nextInt();
//递归调用
int res = recursor(a,d,n);
System.out.println("a="+a+",d="+d+",n="+n+"的和是:"+res);
}
//递归函数
public static int recursor(int a, int d, int n){
if(n==1){return a;}
int cur = a+(n-1)*d;
return cur+recursor(a,d,n-1);
}
}
输出