定义函数 T(n)=T(n1)+n!T(n) = T(n - 1) + n! 请输入n(1 <= n <= 20),求T(n)的值(n = 1时T(n)为1且n大于零)

1 comments

  • @ 2025-4-15 13:40:56
    #include <iostream>
    using namespace std;
    
    // 函数声明
    unsigned long long calculateT(int n);
    
    int main() {
        int n;
        // 提示用户输入n的值
        cin >> n;
    
        
      
    
        // 计算T(n)的值
        unsigned long long result = calculateT(n);
    
        // 输出结果
        cout << result << endl;
    
        return 0; // 程序正常终止
    }
    
    // 计算T(n)的函数定义
    unsigned long long calculateT(int n){
        if(n == 1){
            return 1;
        }
    
        unsigned long long T = 1; // T(1) = 1
        unsigned long long factorial = 1; // 用于存储当前n的阶乘
    
        // 从2迭代到n
        for(int i = 2; i <= n; ++i){
            factorial *= i; // 计算i的阶乘
            T += factorial; // 累加到T(n)中
        }
    
        return T;
    }
    
    • 1