POJ 2709 求出e的值
- 时间限制:
- 1000ms
- 内存限制:
- 65536kB
- 描述
- 利用公式e = 1 + 1/1! + 1/2! + 1/3! + ... + 1/n! 求e 。
- 输入
- 输入只有一行,该行包含一个整数n(2<=n<=15),表示计算e时累加到1/n!。
- 输出
- 输出只有一行,该行包含计算出来的e的值,要求打印小数点后10位。
- 样例输入
-
10
- 样例输出
-
2.7182818011
- 提示
- 1、e以及n!用double表示
2、要输出浮点数、双精度数小数点后10位数字,可以用下面这种形式:
printf("%.10f", num);
(1)、源代码:
#include <stdio.h>
int main()
{
int i, j, n;
double e = 1, jie[16];
scanf("%d", &n);
for(i = 1; i <= n; i++)
{
jie[i-1] = 1;
for(j = 2; j <= i; j++)
jie[i-1] *= j;
}
for(i = 1; i <= n; i++)
e += 1 / jie[i-1];
printf("%.10f", e);
return 0;
}
(2)、解题思路:略
(3)、可能出错:略