Problem Description
多项式描述如下:
1 - 1/2 + 1/3 - 1/4 + 1/5 - 1/6 ……
先请你求出多项式前n项的和。
Input
第一行输入一个数T代表测试数据个数(T<=1000)。接下来T行每行1个数代表n(0<=n< 2^31)。
Output
对于每个输入样例,输出多项式和的结果(结果精确到小数点后两位)。每行输出一个结果。
Sample Input
2 1 2
Sample Output
1.00 0.50
import java.util.Scanner;
class Dxs {
int n;
public Dxs(int n) {
this.n = n;
}
public double show(){
int i;
double sum=0;
for(i=1; i<=n; i++){
if(i%2==0){
sum -= 1.0/i;
}
else{
sum += 1.0/i;
}
}
return sum;
}
}
public class Main {
public static void main(String[] args) {
Scanner reader = new Scanner(System.in);
int t = reader.nextInt();
for(int i=0; i<t; i++){
int n = reader.nextInt();
if(n<=500){
Dxs a = new Dxs(n);
double b = a.show();
System.out.printf("%.2f\n", b);
}
else{
System.out.println("0.69");
}
}
}
}