天天看點

1198: 零起點學算法105——多項式求和

Description

多項式的描述如下:

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

現在請你求出該多項式的前n項的和。

Input

輸入資料由2行組成,首先是一個正整數m(m<20000),表示測試執行個體的個數,第二行包含m個正整數,對于每一個整數(不妨設為n,n<1000),求該多項式的前n項的和。

Output

對于每個測試執行個體n,要求輸出多項式前n項的和。每個測試執行個體的輸出占一行,結果保留2位小數。

Sample Input
1198: 零起點學算法105——多項式求和

2
1 2
      

Sample Output

1.00
0.50
      

Source

零起點學算法

Code

#include<iostream>
#include<stdio.h>
using namespace std;
int main()
{
    int m;
    cin>>m;
    while(m--)
    {
        int n;
        cin>>n;
        float sum=0;
        for(int i=1;i<=n;i++)
        {
            if(i%2!=0)
                sum+=(1.0/i);
            else
                sum-=(1.0/i);
        }
        printf("%.2f\n",sum);
    }

}