2017-12-10杭电OJ2011 《多项式求和》

来源:互联网 发布:ios上传图片数组 编辑:程序博客网 时间:2024/06/03 20:34

1.题目描述

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
2
1 2

Sample Output
1.00
0.50

2.源代码

#include<iostream>#include<cmath>using namespace std;int main(){    int m;    cin>>m;    int a[m],i,j;    double sum=0;    for(i=0;i<m;i++)    {        cin>>a[i];        for(j=1;j<=a[i];j++)        {            sum+=pow(-1,(j-1))*(1/(j*1.0));   //j*1.0个人认为很重要,不久前的一次考试以为自己写了double就没*1.0导致有一个测试数据错误QAQ        }        printf("%.2lf\n",sum);        sum=0;    }}

3.运行截图

运行截图

AC

4.调试信息

注意在求sum的时候,要保证是double在运算而不是int ,所以我j*1.0,就是为了防止