ZOJ1007

题目链接:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=1007ZOJ1007_第1张图片ZOJ1007_第2张图片

#include<iostream>
#include<cstdio>
using namespace std;

int main()
{
    for (double x=0; x<=2.0; x+=0.001)
    {
        double sum = 0;
        for (int k=1; k<5000; k++)
            sum += (1-x)/(k * (k + 1) * (k + x));
        sum += (1-x)/(2 * 5000 * 5000) + 1.0;
        printf("%5.3lf %16.12lf\n",x,sum);
    }
    return 0;
}

第二种方法:

ZOJ1007_第3张图片ZOJ1007_第4张图片

#include <cstdio>
#include<math.h>

using namespace std;

int main()
{
    double x;
    double sr2;
    double sum;
    for (x=0.000; x<=2.000; x+=0.001)
    {
        sum = 0.0;
        sr2 = 0.0;
        for (int k=1; k<6000; k++)
            sr2 += 1.0/((double)k * (k + 1) * (k + 2) * (k + x)); //强制类型转换不能少(不知道为什么<img alt="哭" src="http://static.blog.csdn.net/xheditor/xheditor_emot/default/cry.gif" />)
        sum += (1.0-x) * ((2.0-x) * sr2 + 0.25) + 1.0;
        printf("%5.3lf %16.12lf\n",x,sum);
    }
    return 0;
}


你可能感兴趣的:(ZOJ1007)