一种基于组合数的题解
2025-09-14 14:05:03
发布于:安徽
2阅读
0回复
0点赞
注意:本题解没有使用二维数组
如果你有了解过杨辉三角的话,你会知道,杨辉三角中每行的每一项其实是组合数运算的结果,因此我在此给出一种基于组合数运算的题解。
关于排列数、组合数、杨辉三角的内容请自行查阅。
#include <iostream>
using namespace std;
long A(int m, int n) { // 求解排列数A(m, n)
long r = 1;
for (int i=n; i>=n-m+1; i--) r *= i;
return r;
}
long C(int m, int n) { // 求解组合数C(m, n)
return (A(m, n) / A(m, m));
}
int main()
{
int n;
cin >> n;
for (int i=0; i<=n-1; i++) {
for (int j=0; j<=i; j++) {
cout << C(j, i) << " ";
}
cout << endl;
}
}
这里空空如也
有帮助,赞一个