您的位置:首页 > 编程语言 > Java开发

第五届“蓝桥杯”全国软件 校内选拔赛试题(Java组)10.

2016-12-27 17:52 302 查看
请使用递归算法求下列序列的前n项之和。

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

 

输入:n

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

import java.util.Scanner;

public class t10 {
public  void add(double a,int b,int c){
if(b==c+1){
System.out.println(String.format("%.7f",a));
//return 0;
}else if(b==1){
a = a+1;
add(a,b+1,c);
}else if(b>1){
if(b%2==0){
a = a + (double)1/b;
//System.out.println(a);
add(a,b+1,c);
}
else{
a = a - (double)1/b;
//System.out.println(a);
add(a,b+1,c);
}
}
//return 0;
}
public static void main(String args[]){
Scanner input = new Scanner(System.in);
int a = input.nextInt();
t10 A =new t10();
A.add(0,1,a);

//System.out.print(b);
}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐