HDOJ 1012 u Calculate e
题目
题意
按给出的图片公式
![]()
按公式计算阶e
题解
打表阶乘
打表 e 输出即可
表
n e
- ———–
0 1
1 2
2 2.5
3 2.666666667
4 2.708333333
5 2.716666667
6 2.718055556
7 2.718253968
8 2.718278770
9 2.718281526
代码
#include <iostream>
#include <iomanip>
#define maxn 10
using namespace std;
int st[maxn];
double e[maxn];
int main()
{
st[0] = st[1] = 1;
for(int i = 2;i < maxn;i++)
{
st[i] = st[i-1] * i;
// cout << st[i] << endl;
}
e[0] = 1;
for(int i = 1;i < maxn;i++)
{
e[i] = e[i-1] + 1.0/st[i];
// printf("%lf\n",e[i]);
// cout << fixed << setprecision(9) << e[i] << endl;
}
cout << "n e" << endl;
cout << "- -----------" << endl;
for(int i = 0;i < 3;i++)
cout << i << " " << e[i] << endl;
for(int i = 3;i < maxn;i++)
{
cout << i << " " << fixed << setprecision(9) << e[i] << endl;
}
return 0;
}