資源描述:
《實(shí)驗(yàn)五指定子集個數(shù)的集合劃分.docx》由會員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫。
1、指定子集個數(shù)的集合劃分課程名稱:算法分析與設(shè)計(jì)指定子集個數(shù)的集合劃分曾會蜜1409J葉苗實(shí)驗(yàn)名稱實(shí)驗(yàn)地點(diǎn)指導(dǎo)教師學(xué)號日期同組成員30907171162011年10月獨(dú)立完成系別班級實(shí)驗(yàn)時數(shù)成績信科院計(jì)本09-11實(shí)驗(yàn)?zāi)康募耙?明確遞歸和遞推的基本概念?用遞歸和遞推解決指定子集個數(shù)的集合劃分問題?通過本例掌握遞歸和遞推的程序設(shè)計(jì)方法實(shí)驗(yàn)環(huán)境及相關(guān)情況(包括使用的軟件、實(shí)驗(yàn)設(shè)備)?工具軟件:MicrosoftvisualC++6.0?硬件:主板,鼠標(biāo),鍵盤,顯示器,U盤?操作系統(tǒng):Windows7實(shí)驗(yàn)內(nèi)容及步驟(包括簡要的實(shí)驗(yàn)步驟流程)1.2.n-1根據(jù)題目確定思路,劃分集合,可以找
2、出其中的邏輯關(guān)系?根據(jù)邏輯關(guān)系,運(yùn)用遞歸的算法來求,劃分為兩種情況對于一種情況,等價于把前素分成m份,然后把n號元素放入這m個集合中的一個(也就是說有那麼總數(shù)就是F(n,m)=F(n-1,m-1)+m*F(n-1,m)3.根據(jù)分析建立遞推方程個元素分成m-1份,然后n號元素單獨(dú)放。對于第二種情況,等價于把前n-1個元m種放法)實(shí)驗(yàn)結(jié)果(拷貝屏幕,加上必要的文字說明)110316312725S5112599301弘E30259330003110&S170177703413^15140(>951425251212&4fc22827014&25SS00000000000000014500
3、000003011
4、Wk巧,總共個數(shù)為=
5、Pr-essanykeytoconti.nue1四?源代碼1.#includevoidmain(){intn,k,s[11][11];inti,j;printf("輸入集合的個數(shù)");scanf("%d",&n);printf(”輸入子集的個數(shù)");scanf("%d",&k);for(i=1;i<=10;i++)for(j=1;j<=10;j++)s[i][j]=0;for(i=1;i<=10;i++)s[i][i]=1;for(i=1;i<=10;i++)s[i][1]=1;for(i=2;i<=10;i++)for(
6、j=2;j<=10;j++)s[i][j]=j*s[i-1][j]+s[i-1][j-1];for(i=1;i<=10;i++){for(j=1;j<=10;j++)printf("%6d",s[i][j]);printf("");}printf("n=%d,k=%d,總共個數(shù)為:%d",n,k,s[n][k]);}2.#includeintrecursion(inta,intb);voidmain(){inta,b,c;printf("輸入集合個數(shù)”);scanf("%d",&a);printf("輸入子集個數(shù)");scanf("%d",&b);c=re
7、cursion(a,b);printf("劃分的總個數(shù)為%d",c);}intrecursion(inta,intb){intc=0;if(a==b){return1;}if(a==O
8、
9、b==O
10、
11、a