已知公式f(x)=
x−x3/3!+.....+(−1)n∗x2n−1/(2n+1)!
然后输入0.5,给了输出是0.479426,但是我的程序跑出来是0.479183,怎么改也搞不出来0.479426,求大佬们帮忙看看这个精度哪里不对呀
#include<bits/stdc++.h>
using namespace std;
int main(){
double x;
cin>>x;
double sum=x,sign=-1;
int n=1,f=1;
while((x/f)>1e-7){
x=x*x*x;
f=f*(n+1)*(n+2);
n=n+2;
sum=sum+sign*x/f;
sign=-sign;
}
cout<<sum<<endl;
return 0;
}