原题链接

题目大意:x的取值从0.000到2.000,输出每个x对应的y(x)的值

解法:参考了这篇日志http://www.cnblogs.com/godhand/archive/2010/04/29/1723494.html。计算的公式文章里都推导了,关键是要把握好精度和运算效率的关系。分母中含有k的多项式越多,相同循环次数的结果的精度就越高。最后,还要加上一个误差项,没有这一项可能还是要WA。

 

参考代码:

#include<stdio.h>
#include<math.h>

int main(){
	double x,sum;
	int i,j;
	for(x=0.0;x<=2.0;x=x+0.001){
		sum = 0;
        for (i=1;i<10000;i++){
            sum += 1.0 /( i*(i+1)*(i+x));
        } 
        sum = sum*(1 - x)+( 1 -x)/(2* 10000 * 10000) + 1.0 ;
        printf("%5.3f %16.12f\n", x, sum );
	}
	scanf("%d",&j);

	return 0;
}

相关文章:

  • 2022-12-23
  • 2021-11-19
  • 2022-12-23
  • 2021-11-04
  • 2022-12-23
  • 2022-12-23
  • 2021-10-10
  • 2022-02-12
猜你喜欢
  • 2022-01-14
  • 2022-12-23
  • 2021-08-11
  • 2022-12-23
  • 2022-01-18
  • 2022-02-24
相关资源
相似解决方案