根据给定公式计算e的值:1+1/1!+1/2!+1/3!+……+1/n!的值(取前n项),要求在主函数中输入n的值,调用函数并输出结果。
C++版本
#include<iostream>
using namespace std;
double f(int n){
if(n == 0 || n == 1) return 1.0;
else return f(n - 1) * n;
}
int main(){
int N;
cin >> N;
double s = 0;
int i;
for(i = 0; i <= N; ++i)
s += 1.0 / f(i);
cout << s << endl;
return 0;
}
C版本
#include <stdio.h>
double f(int n){
if(n == 0 || n == 1) return 1.0;
else return f(n - 1) * n;
}
int main(){
int N;
scanf("%d", &N);
double s = 0;
int i;
for(i = 0; i <= N; ++i)
s += 1.0 / f(i);
printf("%lf",s);
return 0;
}
#include<iostream>
using namespace std;
double factorial(int k)
{
if (k == 1)
{
return 1;
}
else
{
return k * factorial(k - 1);
}
}
int main()
{
double e = 1;
int n;
cout << "请输入n的值:";
cin >> n;
for (int i = 1; i <= x; i++)
{
e = e + 1.0/ factorial(i);
}
cout << fixed <<e << endl;
return 0;
}