题目不难,数学题,但自己推导无力。
推导过程如下:
然后确定 k 的上界,假如 k 取到 n 已能满足精度要求,那么我们只需和函数的高阶无穷小项e*满足精度即可
即 n = 10 的 4 次方,但这只是大概表示 k 的数量级,因为在实际过程中,k 取 5000 多就AC了。
#include
//#include
int main(void)
{
double x, sum, k;
for(x = 0.000; x <= 2.000; x += 0.001)
{
sum = 0.0;
for(k = 1; k < 5555; k++)
{
sum += 1 / (k * (k + 1) * (k + 2) * (k + x));
}
sum = (1 - x) * (sum * (2 - x) + 0.25) + 1;
printf("%5.3f %16.12f\n", x, sum);
}
//system("pause");
}