公式
Anm=n!(n−m)!=n⋅(n−1)⋅(n−2)⋅⋅⋅(n−m+1)A_n ^ m=\frac{n!}{(n-m)!}= n \cdot (n-1) \cdot (n-2) \cdot \cdot \cdot(n-m+1)Anm=(n−m)!n!=n⋅(n−1)⋅(n−2)⋅⋅⋅(n−m+1)
Cnm=Anmm!C_n^m=\frac{A_n^m}{m!}Cnm=m!Anm
代码
#include<iostream>
#include<cmath>
using namespace std;
int factorial(int start, int end){
int ans=1;
for(int i=start; i <= end; i++){
ans *= i;
}
return ans;
}
int A(int n, int m){
return factorial(n-m+1, n);
}
int C(int n, int m){
return A(n, m) / factorial(1, m);
}
int main(){
cout<<A(5, 2)<<" "<<C(5, 2)<<endl;
return 0;
}
本文介绍排列Anm和组合Cnm的数学公式,并提供使用C++进行实现的具体代码。通过递推的方式计算阶乘,进而计算排列与组合的值。示例代码展示了如何计算特定数值下的排列与组合。

被折叠的 条评论
为什么被折叠?



