[HDOJ]2011

来源:互联网 发布:阿里云客服薪资计算 编辑:程序博客网 时间:2024/05/21 08:31
Problem Description
多项式的描述如下:
1 - 1/2 + 1/3 - 1/4 + 1/5 - 1/6 + ...
现在请你求出该多项式的前n项的和。
 

Input
输入数据由2行组成,首先是一个正整数m(m<100),表示测试实例的个数,第二行包含m个正整数,对于每一个整数(不妨设为n,n<1000),求该多项式的前n项的和。
 

Output
对于每个测试实例n,要求输出多项式前n项的和。每个测试实例的输出占一行,结果保留2位小数。
 

Sample Input
21 2
 

Sample Output
1.000.501.
#include<iostream>#include<iomanip>using namespace std;double sum_(int n){        double x=0; //x是必须要初始化为0的        for(int i=1;i<=n;i++){                if(i%2==0)      x-=1.0/i;                else    x+=1.0/i;        }        return x;}int main(){        int m,*p;        double t;        double sum=0;        cin>>m;        p=new int [m];        for(int i=0;i<m;i++){                cin>>p[i];        }        for(int i=0;i<m;i++){                t=sum_(p[i]);                cout<<fixed<<setprecision(2)<<t<<endl;        }        return 0;}


0 0
原创粉丝点击