zoj1007

这个题是看别人写的才有做对了的

这个题主要是时间问题,根据提示,先对原式进行调整,并将循环次数减少,思路较完整的http://hi.baidu.com/qhh_2008/item/85480a3cd5dc595e80f1a71c(耐心看下哦!)与他不同的是,我有多找了0.0008和1.0008的关系以下是程序~

#include <stdio.h>

int main()
{
double psix[2001];
int i=0;
psix[2000]=0.75;
for(i=0;i<1000;i++)
{
double x=i/1000.0;
int j;
double sum=0;
for(j=1;j<=8000;j++)
sum+=1.0/(j*(j+1.0)*(j+2.0)*(j+x));
psix[i]=(1.0-x)*(sum*(2.0-x)+0.25)+1.0;
psix[i+1000]=( psix[i]*x + 1.0/(1.0+x) ) / (1.0+x);
}
for(i=0;i<=2000;i++)
printf("%5.3f %16.12f\n", i/1000.0, psix[i]);
return 0;
}

你可能感兴趣的:(zoj1007)