求e的x次方***
已知 編寫程序求ex = 1 + x + x2/2! + x3/3! + ...,要求到最後一項小於0.001為止。
測試用例
0↵ 1.00000↵
測試用例
1↵ 2.71806↵
測試用例 3
0.5↵ 1.64844↵
#include<stdio.h>
#include<math.h>
double f(int m)
{if(m>1) return m*f(m-1);
else return 1;
}
int main()
{double x,s=1,m=1,n=0,i;
scanf("%lf",&x);
for(i=1;m-0.001>=1e-10;i++)
s+=(m=pow(x,i)/f(i));
printf("%.5f\n",s);
}
這是我編寫的程序 這個結果不准確有誤差m-0.001>=1e-10這個判斷改了好幾種方式還是不行。。。
#include<stdio.h>
#include<math.h>
double f(double m)
{
if(m>1) return m*f(m-1);
else return 1;
}
int main()
{
double x,s=1,m=1,n=0,i;
scanf("%lf",&x);
for(i=1;;i++)
{
m=pow(x,i)/f(i);
if(m<0.001) break;
s+=m;
}
printf("%.5f\n",s);
}