组合数公式
組合恒等式
若表示在 n 個物品中選取 m 個物品,則如存在下述公式:
C(n,m)=C(n,n-m)=C(n-1,m-1)+C(n-1,m)
所以可以用遞推算組合數(shù)
例題:
題目描述
開學了,學校又迎來了好多新生。ACMer想為新生準備一個節(jié)目。來報名要表演節(jié)目的人很多,多達N個,但是只需要從這N個人中選M個就夠了,一共有多少種選擇方法?
輸入
測試實例包括多組測試數(shù)據(jù),每組數(shù)據(jù)占一行。
每組數(shù)據(jù)包含兩個整數(shù)N(來報名的人數(shù),1<=N<=30),M(節(jié)目需要的人數(shù)0<=M<=30)
輸出
每組數(shù)據(jù)輸出一個整數(shù),每個輸出占一行
樣例輸入
3 2
5 3
4 4
3 6
8 0
樣例輸出
3
10
1
0
1
代碼
#include<iostream> #include<cmath> using namespace std;int cs(int n,int m){if(m==0) return 1;if(m==1) return n;if(m>n/2) return cs(n,n-m);if(m>1) return cs(n-1,m-1)+cs(n-1,m); }int main(){int n,m;while(cin>>n>>m){if(n<m) cout<<0<<endl;else cout<<cs(n,m)<<endl;}} 創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎勵來咯,堅持創(chuàng)作打卡瓜分現(xiàn)金大獎總結(jié)
- 上一篇: cv mat的shape_将ndarra
- 下一篇: php网站建设实训引言_网站建设实训报告