求出e的值
说明
利用公式 e=1+1/1!+1/2!+1/3!+...+1/n!, 求 e。
输入格式
输入只有一行,该行包含一个整数n(2≤n≤15)。
输出格式
输出只有一行,该行包含计算出来的e的值,要求打印小数点后 10 位。
样例
输入数据 1
10
输出数据 1
2.7182818011
用了两个方法来解此题:
一是直接求解:
#include <iostream>;
using namespace std;
int main()
{
double a, b, c = 1, d, m, n = 1;
cin >> b;
for (a = 1; a <= b; a++)
{
n *= a;
m = n;
c += 1 / m;
}
printf("%.10f", c );
return 0;
}
二,用了函数的理念
#include <iostream>
#include<math.h>
using namespace std;
double fc(double n)
{
if (n == 0)
return 1;
return n * fc(n - 1);
}
int main()
{
int n;
cin >> n;
double i;
double sum, e = 0.0;
for (i = 0; i <= n; i++)
{
sum = 1.0 / fc(i);
e += sum;
}
printf("%.10lf\n", e);
return 0;
}