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
对于每个输入样例,输出多项式和的结果(结果精确到小数点后两位)。每行输出一个结果。
Example Input
2 1 2
Example Output
1.00 0.50
Hint
Author
中国海洋大学第三届“朗讯杯”编程比赛高级组试题
import java.text.DecimalFormat;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner in = new Scanner(System.in);
int t = in.nextInt();
while(t-->0){
int n = in.nextInt();
Compute cc = new Compute(n);
cc.show();
}
}
}
class Compute{
int n;
public Compute(int n){
this.n = n;
}
public void show(){
double sum = 0;
if(n>180)
n = 180;
for(int i=1;i<=n;i++){
double y1=Math.pow(i, -1);
double y2=Math.pow(-1, i+1);
sum+=y1*y2;
}
DecimalFormat x=new DecimalFormat("0.00");
System.out.println(x.format(sum));
}
}