zju1113

返回“大学生程序设计竞赛”

u Calculate e

http://acm.zju.edu.cn/show_problem.php?pid=1113

Time limit: 1 Seconds

Memory limit: 32768K

Background

A simple mathematical formula for e is

\[ e=\sum_{i=0}^n\frac{1}{n!} \]

where n is allowed to go to infinity. This can actually yield very accurate approximations of e using relatively small values of n.

Output

Output the approximations of e generated by the above formula for the values of n from 0 to 9. The beginning of your output should appear similar to that shown below.

Sample Output

n e
- -----------
0 1
1 2
2 2.5
3 2.666666667
4 2.708333333

Problem Source: Greater New York 2000


/*Written by 洪峰*/
#include<iostream>
using namespace std;

int main()
{
    long double t1=6, e=2.5;
    int n;
    cout<<"n"<<" "<<"e"<<endl;
    cout<<"- -----------"<<endl;
    cout<<0<<" "<<1<<endl;
    cout<<1<<" "<<2<<endl;
    cout<<2<<" "<<2.5<<endl;
    for (n=3;n<10;n++)
    {
        e+=1/t1;
        t1*=(n+1);
        cout.precision(9);
        cout.setf(ios::fixed);
        cout<<n<<" "<<e<<endl;
    }
    return 0;
}

附件