u Calculate e
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 46106 Accepted Submission(s): 21178
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.

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//利用公式计算0-9次循环中 e 的值#include <iostream> #include <cstdio> #include <cstring> #include <algorithm> #include <iomanip> using namespace std; int main(int argc, char const *argv[]) { double result = 1; double a[10]; cout << "n e" << endl; cout << "- -----------" << endl; for(int i = 0;i <10; ++i) { if(i == 0) a[i] = 1; else { double t = 1; for(int j = 1;j <= i; ++j) t *= j; a[i] = 1/t; result += a[i]; } if(i >= 3) { cout << setiosflags(ios::fixed); cout << setprecision(9); cout << i << " " << result << endl; } else cout << i << " " << result << endl; } return 0; }
//或者直接枚举# include<stdio.h> int main() { printf("n e\n"); printf("- -----------\n"); printf("0 1\n1 2\n2 2.5\n"); printf("3 2.666666667\n"); printf("4 2.708333333\n"); printf("5 2.716666667\n"); printf("6 2.718055556\n"); printf("7 2.718253968\n"); printf("8 2.718278770\n"); printf("9 2.718281526\n"); return 0; }