Problem Description
A simple mathematical formula for e is
![HDU <wbr> <wbr> <wbr>1008 <wbr> <wbr> <wbr>u <wbr>Calculate <wbr>e HDU <wbr> <wbr> <wbr>1008 <wbr> <wbr> <wbr>u <wbr>Calculate <wbr>e](http://acm.hdu.edu.cn/data/images/1012-1.gif)
where n is allowed to go to infinity. This can actually yield very accurate approximations of e using relatively small values of n.
![HDU <wbr> <wbr> <wbr>1008 <wbr> <wbr> <wbr>u <wbr>Calculate <wbr>e HDU <wbr> <wbr> <wbr>1008 <wbr> <wbr> <wbr>u <wbr>Calculate <wbr>e](http://acm.hdu.edu.cn/data/images/1012-1.gif)
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 - ----------- 0 1 1 2 2 2.5 3 2.666666667 4 2.708333333 "); 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,e); 25 } 26 return 0; 27 }