杭电 1012

来源:百度知道 编辑:UC知道 时间:2024/06/19 02:24:38
怎么老是WRONG ANSWER ,难道精度有问题,哪位大牛解决一下?感激涕零!

#include <stdio.h>
double fun(int i)
{
double re=2.5,to=6;
int n;
for(n=3;n<=i;n++)
{ re+=1/to;
to*=(n+1);}
return re;
}
int main()
{int i;
printf("n e\n");
printf("- -----------\n");
printf("0 1\n1 2\n2 2.5\n");
for(i=3;i<=9;i++)
printf("%d %.9lf\n",i,fun(i));
return 0;
}

应该是精度问题,注意用double代替float