Java高职蓝桥杯校内选拔题前N项之和

来源:互联网 发布:中国光伏行业协会数据 编辑:程序博客网 时间:2024/05/18 13:23

10、(18分) 请使用递归算法求下列序列的前n项之和。

            1 + 1/2 - 1/3 + 1/4 -1/5 ......

 

输入:n

输出:序列的前n项和(精确到小数点之后第6位)


全代码

import java.text.DecimalFormat;
import java.util.Scanner;


/*请使用递归算法求下列序列的前n项之和。
            1 + 1/2 - 1/3 + 1/4 -1/5 ......
*/
public class test_ten {

private static double i = 2;
private static double result = 1.0;
public double digui(int n){

if(n==1){
return result;
}else{
if(n%2==0){
result += 1.0/n;
n--;
return digui(n);
}else{
result -= 1.0/n;
n--;
return digui(n);
}
}
}

public static void main(String args[]){
Scanner scanner = new Scanner(System.in);
DecimalFormat decimalFormat = new DecimalFormat("0.000000");
int n = scanner.nextInt();
double digui = new test_ten().digui(n);
System.out.println(decimalFormat.format(digui));
}
}

0 0
原创粉丝点击