c语言编程实现排列组合数的计算
时间: 2023-03-21 14:03:22 浏览: 290
可以,C语言可以用递归实现排列组合数的计算,其中排列数P(n,m)和组合数C(n,m)的公式如下:
P(n,m) = n!/(n-m)!
C(n,m) = n!/m!(n-m)!
下面是一个使用递归实现排列数P(n,m)和组合数C(n,m)的C语言程序示例:
```c
#include <stdio.h>
int permutation(int n, int m) {
if (m == 0) {
return 1;
} else {
return n * permutation(n - 1, m - 1);
}
}
int combination(int n, int m) {
if (m == 0 || m == n) {
return 1;
} else {
return combination(n - 1, m - 1) + combination(n - 1, m);
}
}
int main() {
int n = 5, m = 2;
printf("P(%d, %d) = %d\n", n, m, permutation(n, m));
printf("C(%d, %d) = %d\n", n, m, combination(n, m));
return 0;
}
```
输出结果为:
```
P(5, 2) = 20
C(5, 2) = 10
```
希望对你有所帮助!
阅读全文