u Calculate e
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
// HDU1012 基础题
// u Calculate e
// 2017.05.24 by wyj
#include
#include
using namespace std;
int main()
{
int factorial(int n);
int i, n;
int f[10];
double e[10];
for (i = 0;i <= 9;i++) //0到9的阶乘
f[i] = factorial(i);
for (n = 0;n <= 9;n++) //n取0到9时e的值
{
e[n] = 0;
for (i = 0;i <= n;i++)
e[n] += 1.0 / f[i];
}
cout << "n e" << endl << "- -----------" << endl;
cout << "0 1" << endl;
cout << "1 2" << endl;
cout << "2 2.5" << endl;
for (n = 3;n <= 9;n++)
cout << n << " " << setiosflags(ios::fixed) << setprecision(9) << e[n] << endl;
return 0;
}
int factorial(int n) //求阶乘
{
int r = 1;
int i;
for (i = 1;i <= n;i++)
r *= i;
return r;
}