在C语言中,可以使用以下方法编程计算组合数(n个不同元素中取m个元素的组合数):
```c
include
int combination(int n, int m) {
int i, j;
int result = 1;
if (m > n / 2)
m = n - m;
for (i = n, j = 1; i >= n - m + 1; i--, j++)
result *= i / j;
return result;
}
int main() {
int n = 5;
int m = 3;
int result = combination(n, m);
printf("C(%d, %d) = %d\n", n, m, result);
return 0;
}
```
在这个例子中,我们定义了一个名为`combination`的函数,它接受两个整数参数`n`和`m`,并返回一个整数结果。我们首先检查`m`是否大于`n / 2`,如果是,则将`m`设置为`n - m`,这样可以减少计算量。然后,我们使用一个循环来计算组合数,循环变量`i`从`n`递减到`n - m + 1`,循环变量`j`从1递增到`m`。在每次循环中,我们将`result`乘以`i / j`。最后,函数返回计算得到的组合数。
在`main`函数中,我们调用`combination`函数并输出结果。例如,计算`C(5, 3)`的结果为10。