首页 > 代码库 > u Calculate e

u Calculate e

u Calculate e

Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)
Total Submission(s): 32719 Accepted Submission(s): 14683


Problem Description
A simple mathematical formula for e is

技术分享

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
源代码一:
#include <stdio.h>#include <stdlib.h>double fac(int n){    double c; if(n==1 || n==0) {      c=1; return(c); } else {      c=fac(n-1)*n;
return(c); }}int main(){      double sum,t; int i,n,j=3; printf("n e\n");   printf("- -----------\n");   printf("0 1\n");   printf("1 2\n");   printf("2 2.5\n");   while(j<10)   {     for(i=0,sum=0;i<=j;i++)      {    t=fac(i);    sum=sum+1/t;     }      printf("%d %11.9f\n",j,sum);       j++;                                    }   system("pause"); return 0;}
源代码二:
#include <stdio.h>#include <stdlib.h>int main(){  double arr[10] = {1},result;  int i = 1,j = 3;  while(i < 10)  {    arr[i]=i*arr[i-1];    i++;  }  printf("n e\n");  printf("- -----------\n");  printf("0 1\n");  printf("1 2\n");  printf("2 2.5\n");  result = 2.5;  while(j < 10)  {    result = result + 1/arr[j];    printf("%d %11.9f\n",j,result);    j++;  }  system("pause");  return 0;} 

u Calculate e