Problem Description
A simple mathematical formula for e is

HDU <wbr> <wbr> <wbr>1008 <wbr> <wbr> <wbr>u <wbr>Calculate <wbr>e

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
 

 

Source
 
 
简单题
 1 #include<stdio.h>
 2 int fact(int n)
 3 {
 4     int res=1;
 5     while(n>=1)
 6     {
 7         res*=n;
 8         n--;
 9     }
10     return res;
11 }
12 int main()
13 {
14     printf("n e\n- -----------\n0 1\n1 2\n2 2.5\n3 2.666666667\n4 2.708333333\n");
15     int n,i;
16     double e;
17     for(n=5;n<=9;n++)
18     {
19         e=0.0;
20         for(i=0;i<=n;i++)
21         {
22             e+=1.0/double(fact(i));
23         }
24         printf("%d %.9lf\n",n,e);
25     }
26     return 0;
27 }