C ++程序使用阶乘计算组合

以下是使用阶乘计算组合的示例。

示例

#include <iostream>
using namespace std;
int fact(int n) {
   if (n == 0 || n == 1)
   return 1;
   else
   return n * fact(n - 1);
}
int main() {
   int n, r, result;
   cout<<"Enter n : ";
   cin>>n;
   cout<<"\nEnter r : ";
   cin>>r;
   result = fact(n) / (fact(r) * fact(n-r));
   cout << "\nThe result : " << result;
   return 0;
}

输出结果

Enter n : 10
Enter r : 4
The result : 210

在以上程序中,代码存在于fact()函数中以计算数字的阶乘。

if (n == 0 || n == 1)
return 1;
else
return n * fact(n - 1);

在该main()方法中,用户输入两个数字的组合。变量“结果”使用阶乘存储组合的计算值。

cout<<"Enter n : ";
cin>>n;
cout<<"\nEnter r : ";
cin>>r;
result = fact(n) / (fact(r) * fact(n-r));