自然常数 e 可以用级数 1+1/1!+1/2!+⋯+1/n!+⋯ 来近似计算。本题要求对给定的非负整数 n,求该级数的前 n+1 项和。
C语言代码
使用循环计算常数 e 的近似值,每次迭代都计算一个阶乘的倒数,然后将其加入到结果中。
#include <stdio.h>
double calculate_e(int n){
double result = 1.0;
double factorial = 1.0;
for (int i = 1; i <= n; i++){
factorial *= i;
result += 1/factorial;
}
return result;
}
int main(){
int n;
scanf("%d",&n);
double e = calculate_e(n);
printf("%.16lf", e);
return 0;
}
C++代码
#include <iostream>
using namespace std;
double calculate_e(int n){
double result = 1.0;
double factorial = 1.0;
for (int i = 1; i <= n; i++){
factorial *= i;
result += 1/factorial;
}
return result;
}
int main(){
int n = 10;
double e = calculate_e(n);
cout.precision(17);
cout << e << endl;
return 0;
}
网友评论