编写程序计算组合数:C(m, r)=m!人r!× (m-r)!),其中m、r为正整数,且m>r。c++
时间: 2023-05-31 10:03:07 浏览: 84
def factorial(n):
"""
计算n的阶乘
"""
if n == 0:
return 1
else:
return n * factorial(n-1)
def combination(m, r):
"""
计算组合数C(m, r)
"""
if m < r:
return None
else:
return factorial(m) // (factorial(r) * factorial(m-r))
m = int(input("请输入m:"))
r = int(input("请输入r:"))
result = combination(m, r)
if result is None:
print("m必须大于等于r")
else:
print(f"C({m}, {r}) = {result}")
相关问题
3.编写程序计算组合数:C(m, r)=m!人r!× (m-r)!),其中m、r为正整数,且m>r。要求:
1) 定义函数`factorial(n)`,计算阶乘n!。
2) 定义函数`combination(m, r)`,计算组合数C(m, r)。
3) 在主程序中,输入m和r的值,并调用`combination(m, r)`函数计算C(m, r),最后输出结果。
代码如下:
```python
def factorial(n):
"""计算n的阶乘"""
result = 1
for i in range(1, n+1):
result *= i
return result
def combination(m, r):
"""计算组合数C(m, r)"""
return factorial(m) // (factorial(r) * factorial(m-r))
# 主程序
m = int(input("请输入m的值:"))
r = int(input("请输入r的值:"))
print("C({0}, {1}) = {2}".format(m, r, combination(m, r)))
```
运行结果示例:
```
请输入m的值:6
请输入r的值:2
C(6, 2) = 15
```
用c语言编写程序:计算C(n,m)=m!/n!(m-n)!的值
好的,以下是计算C(n,m)的C语言程序:
```c
#include <stdio.h>
int factorial(int n) {
if (n == 0) {
return 1;
} else {
return n * factorial(n-1);
}
}
int combination(int n, int m) {
return factorial(m) / (factorial(n) * factorial(m-n));
}
int main() {
int n = 3;
int m = 7;
int result = combination(n, m);
printf("C(%d, %d) = %d\n", n, m, result);
return 0;
}
```
在这个程序中,我们定义了一个用于计算阶乘的函数factorial,并且根据组合公式计算C(n,m)的值。最后我们将结果打印出来,其中n和m的值可以根据需要进行修改。