请编程实现输入两个整数n和m,计算从n个物品中取出m个物品的组合数,要求计算阶乘用函数实现。
时间: 2024-05-05 17:16:54 浏览: 15
```
#include<iostream>
using namespace std;
int fac(int n) // 阶乘函数
{
if(n==0 || n==1)
return 1;
else
return n*fac(n-1);
}
int main()
{
int n,m;
cout<<"请输入n和m:";
cin>>n>>m;
int ans = fac(n)/(fac(m)*fac(n-m)); // 计算组合数
cout<<"从"<<n<<"个物品中取出"<<m<<"个物品的组合数为:"<<ans<<endl;
return 0;
}
```
相关问题
组合数的计算公式为:请编程实现输入两个整数n和m,计算从n个物品中取出m个物品的组合数,要求计算阶乘用函数实现python
def factorial(n):
if n == 0:
return 1
else:
return n * factorial(n-1)
def combination(n, m):
return factorial(n) // (factorial(m) * factorial(n-m))
n = int(input('请输入n:'))
m = int(input('请输入m:'))
print(f'{n}个物品中取出{m}个物品的组合数为:{combination(n, m)}')
输入两个正整数m和n计算它们的组合数并输出
答案:组合数公式为C(m,n)=m!/(n!(m-n)!),可以通过编写一个计算阶乘的函数来计算组合数。以下是一个示例代码:
```
def factorial(n):
if n == 0:
return 1
else:
return n * factorial(n-1)
m = int(input("请输入m:"))
n = int(input("请输入n:"))
if m < n:
print("非法输入")
else:
result = factorial(m) / (factorial(n) * factorial(m-n))
print("组合数为:", result)
```
输入示例:
请输入m:5
请输入n:2
输出示例:
组合数为: 10.0
相关推荐
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![](https://img-home.csdnimg.cn/images/20210720083646.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)