C(k,n-1)=∏(n-k,n-1)/k!
C(k-1,n-1)=∏(n-k+1,n-1)/(k-1)!
C(k-1,n)+C(k-1,n-1)
=∏(n-k,n-1)/k!+∏(n-k+1,n-1)/(k-1)!
=∏(n-k,n-1)/k!+k·∏(n-k+1,n-1)/k!
=[(n-k)·∏(n-k+1,n-1)!+k·∏(n-k+1,n-1)]/(k-1)!
=[n·∏(n-k+1,n-1)]/k!
=∏(n-k+1,n)]/k!
=C(k,n)
即:C(k-1,n)+C(k-1,n-1)=C(k,n)
說簡單點,就是楊輝三角形的元素算法.
此原理應(yīng)用到你的問題上,重點是:結(jié)果集合的每個元素又是個集合.
若通用集合類Set(其實java中Set就是);
new Set{value...}為構(gòu)造方法,-{value..}為集合差,+{value...}為集合和,Set(i)和集合第i個元素;
對于n個元素的集合Sn,如果有函數(shù)Set combine(k,Sn),產(chǎn)生n個元素中選k個元素集合的集合;那么,當(dāng)a是n個元素中的任意一個時,combine(k,Sn)=combine(k,Sn-{a})+combine(k-1,Sn-{a}).
由此可以產(chǎn)生遞歸算法:
Set Sn=new Set{a0,a1,...an-1};
Set result=Sn.combine(k,Sn);
.
.
function Set combine(int count,Set S){
if(count==S.size()){
return new Set{S};//這是集合S僅為結(jié)果集的一個元素
}
if(count+1==S.size()){
Set result=new Set{};
for(Element a:S){
result+=new Set{S-{a}};//集合依次排除一個元素產(chǎn)生的子集作為結(jié)果的一個元素
}
return result;
}
Set S2=combine(count-1,S-S(0));//對應(yīng)YH公式的后一項,S(0)為集合S的第一個元素
for(Set Si:S2){
Si+={S(0)};//Si是缺了一個元素的
}
Set S1=combine(count,S-S(0));//這個是個數(shù)整好的,YH公式的前一項
return S1+S2;//YH公式
}
這個問題比較有意思,不知道誰出的.沒有中學(xué)組合知識或YH公式,真困難了.
要是誰有更好算法,不妨交流一下.
這題分給的夠低了,純屬興趣做一下玩.
設(shè)計算法以求解從集合{1..n}中選取k(k
設(shè)計算法以求解從集合{1..n}中選取k(k
數(shù)學(xué)人氣:945 ℃時間:2020-05-16 03:57:10
優(yōu)質(zhì)解答
我來回答
類似推薦
- 集合A有m個元素,集合B有n個元素,從兩個集合中各取一個元素,不同方法總數(shù)是多少
- 對于元素個數(shù)無限的兩個集合,請設(shè)計一種方法比較他們元素個數(shù)的大小
- 如何設(shè)計一種方法,使得集合A=﹙0,2]和集合B=[﹣1,﹢∞﹚內(nèi)的元素個數(shù)一樣多
- 集合的列舉法如何解答元素集合
- 二元一次方程x-y=0的解集中的元素是什么,用描述法表示這個集合
- 桃樹的五分之三和梨樹的九分之四相等,梨樹比桃樹多42棵,兩棵樹各多少棵
- 諸兒競走取之,唯戎不動.意思
- 28克的銅與足量的濃硝酸充分反應(yīng)后,求1.能制的標(biāo)準(zhǔn)狀況下二氧化氮多少升?2.被還原的硝酸的物質(zhì)的量是
- 學(xué)如逆水行舟,不進則退.用英文寫?
- commodity
- 某型號的熱得快接到220v,5a,10min電流所做的功.若接到11v的電源,同樣時間,做的功
- 有一種小油壺,最多能裝汽油3/2升,要裝35升汽油,至少需要_個這樣的油壺.
猜你喜歡
- 1把一根木材鋸成6段,共用了12分鐘,平均據(jù)下一段的時間是12分鐘的幾分之幾?
- 21.(x-y)^2-4(x-y+3)
- 3震級與地震烈度的區(qū)別
- 4求一篇80個單詞左右的英語作文 題目最好是介紹我的房間
- 5what a funny story it is(改成同義句)
- 6there are towers a____the ehds of the bridge.
- 7次氯酸鈣次氯酸鈉本身是否具有漂白性
- 8sally is looking at the the plane (和朋友一起)
- 9算式中間一條豎線是什么意思?
- 10一只青蛙在井底.井深10米,青蛙白天往上爬3米,晚上向下滑2米,問青蛙幾天爬上來?
- 11《誰與我同行》閱讀短文答案
- 12除了又香又甜這個詞語,還有沒有別的又什么,回答的時候就給我弄3個就可以了.