
c++,编写程序,输入m和n(n>m),求C(n,m) 的值。
【分析】组合数C(n,m)可以理解为从n个数中任意取出m个数的所有情况数。求这个数值有一个经典的算法:C(n,m)= n! / ((n-m)! m!)。#include<iostream>#include <cstring>//用到字符串处理函数时要添加该头文件。using namespace std;int factorial(int parameter)//定义递归运算
·
【分析】组合数C(n,m)可以理解为从n个数中任意取出m个数的所有情况数。求这个数值有一个经典的算法:C(n,m)= n! / ((n-m)! m!)。
#include<iostream>
#include <string> //用到字符串处理函数时要添加该头文件。
using namespace std;
int factorial(int parameter) //定义递归运算
{
if(parameter==1)
return 1;
else
return parameter*factorial(parameter-1);
}
int zuhe(int a,int b) //定义组合数的计算方法
{
return factorial(a)/factorial(b)/factorial(a-b);
}
int main()
{
int n,m;
cout<<"输入n和m(n>m)"<<endl;
cin>>n>>m;
cout<<"组合数C(n,m)的计算结果为:"<<zuhe(n,m)<<endl;
return 0;
}
更多推荐
所有评论(0)