要求从n个元素中取出m个元素的组合种数,可以使用组合数公式:

C(n, m) = n! / (m! * (n-m)!)

其中,n! 表示n的阶乘,即n * (n-1) * (n-2) * ... * 2 * 1。

下面是使用C语言实现的代码:

#include <stdio.h>

// 计算阶乘
int factorial(int n) {
    if (n == 0 || n == 1) {
        return 1;
    } else {
        return n * factorial(n - 1);
    }
}

// 计算组合数
int combination(int n, int m) {
    int numerator = factorial(n);
    int denominator = factorial(m) * factorial(n - m);
    return numerator / denominator;
}

int main() {
    int n, m;
    printf("请输入n和m的值(以空格分隔):");
    scanf("%d %d", &n, &m);
    int result = combination(n, m);
    printf("从%d中取%d个的组合种数为:%d\n", n, m, result);
    return 0;
}

运行代码后,输入n和m的值,程序将计算出从n中取m个的组合种数并输出。

C语言实现组合数计算 - 从n个元素中取m个的组合

原文地址: https://www.cveoy.top/t/topic/o712 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录