编程高手进~~~用C++编程计算组合数的值

编程计算组合数 的值。
要求:1)对不满足m>=k>0的情况,用户要重新输入
2)主函数功能简单,明了。

#include <iostream>
using namespace std;

int fac(int m,int k);
int main()
{
int m,k;
cout <<"输入m,k:\n";
cin>>m>>k;
while(1){
if(m<k){
cout <<"m,k的取值不正确,请重新输入\n";
cin>>m>>k;
}
else break;
}
cout <<"m的k的组合数为:"<<fac(m,k)<<endl;
return 0;
}
int fac(int m,int k){
if(m<k)return -1;
int a=1,b=1,c=1;
for(int i=m;i>=1;i--)
a*=i;
for(int j=k;j>=1;j--)
b*=j;
for(int l=m-k;l>=1;l--)
c*=l;
return a/(b*c);
}
温馨提示:答案为网友推荐,仅供参考
相似回答