#include<iostream>
#include<cmath>
#include<iomanip>
using namespace std;
int main(void)
{
long double e=1,s=1;
int n=1;
do
{
s*=n;
e+=1/s;
n+=1;
}
while(fabs(1/s)>1.0e-1000);
cout<<"e的近似值为:"<<setprecision(1001)<<e<<endl;
return 0;
}
我写的只能到小数点后16位,其他的都是0,求解怎么办