1 条题解

  • 0
    @ 2025-11-30 16:28:08

    C++ :

    #include <iostream>
    using namespace std;
    // 计算阶乘的递归函数
    long long factorial(int n) {
        if (n == 0) return 1; // 基本情况
        return n * factorial(n - 1); // 递归调用
    }
    // 计算组合数的函数
    long long combination(int n, int r) {
        return factorial(n) / (factorial(r) * factorial(n - r)); // 组合公式
    }
    // 计算排列数的函数
    long long permutation(int n, int r) {
        return factorial(n) / factorial(n - r); // 排列公式
    }
    int main() {
        int n, r; 
        cin >> n >> r; // 输入两个整数
        long long P = permutation(n, r); // 计算排列数
        long long C = combination(n, r); // 计算组合数
        long long factorial_r = factorial(r); // 计算 r 的阶乘
        // 输出排列数和组合数,并验证关系
        cout << P << " " << C << endl; 
        cout << P << " = " << C << " * " << r << "!" << " = " << C * factorial_r << endl; 
        return 0;
    }
    
    • 1

    信息

    ID
    1483
    时间
    2000ms
    内存
    128MiB
    难度
    (无)
    标签
    递交数
    0
    已通过
    0
    上传者