1 条题解
-
0
解题思路:
为了完成这个任务,需要实现两个主要功能:一是计算阶乘,二是按照公式累加每一项的值。具体而言,对于每个 n 值,要计算 i 从 0 到 n 的 i!1 并求和,最终输出 n 及其对应的 e 的近似值。
原理:
阶乘计算:一个正整数 i 的阶乘 i! 定义为 i×(i−1)×⋯×1,并且规定 0!=1。 级数求和:根据给定公式,对 i 从 0 到 n 的 i!1 进行累加,就能得到 e 的近似值。随着 n 的增大,这个近似值会越来越接近 e 的真实值。
实现步骤:
1.输出表头:先输出包含 n 和 e 的表头,以及分隔线。
2.循环计算:借助一个循环让 n 从 0 递增到 9。
3.计算阶乘并累加:在每次循环里,对于当前的 n,再用一个循环让 i 从 0 到 n,计算 i!1 并累加到总和中。
4.输出结果:输出当前的 n 以及对应的 e 的近似值。
C++实现:
#include <iostream> #include <iomanip> using namespace std; int main() { double sum = 2.5; cout<<"n e"<<endl; cout<<"- -----------"<<endl; for(int i = 0; i <= 9; i++){ if(i == 0) cout<<"0 1"<<endl; else if(i == 1) cout<<"1 2"<<endl; else if(i == 2) cout<<"2 2.5"<<endl; else{ double temp = 1; for(int j = 1; j <= i; j++){ temp *= j; } sum = sum + 1/temp; cout<<i<<" "<<fixed<<setprecision(9)<<sum<<endl; } } return 0; }
- 1
信息
- ID
- 518
- 时间
- 1000ms
- 内存
- 256MiB
- 难度
- 10
- 标签
- 递交数
- 8
- 已通过
- 1
- 上传者