1 条题解

  • 0
    @ 2025-4-8 15:57:56

    解题思路:

    为了完成这个任务,需要实现两个主要功能:一是计算阶乘,二是按照公式累加每一项的值。具体而言,对于每个 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
    上传者