一、答案:
代码如下: #include<iostream> using namespace std; double fac(int n) { double s(1);int i; for(i=1;i<=n;i++)s=s/i; return s; } int main() { int i=0; double s; while(fac(i)>=1e-6) {s+=fac(i); i++; } cout<<"e="<<s<<endl; return 0; }
运行结果:
二、说明:
此题比较简单,首先计算1/i! double fac(int n) { double s(1);int i; for(i=1;i<=n;i++)s=s/i; return s; }
然后求和: {s+=fac(i); i++; }
如图,判断最后一项是否满足条件: fac(i)>=1e-6