Re: [請益] 排列組合的程式邏輯

看板Programming作者 (享受人生~)時間17年前 (2008/08/19 18:30), 編輯推噓1(100)
留言1則, 1人參與, 最新討論串2/6 (看更多)
※ 引述《magiccat (~米雪~)》之銘言: : dear all, : 目前有一個排列組合的程式要寫, : 例如:C5取3(看得懂我在寫什麼嗎?) : 應該會有10種組合, : 那麼我應該要怎樣透過程式自動排列出來並記錄成下列的格式呢? : 1 2 3 : 1 2 4 : 1 2 5 : 1 3 4 : 1 3 5 : 1 4 5 : 2 3 4 : 2 3 5 : 2 4 5 : 3 4 5 : 目前的想法是迴圈+副程式(副程式再CALL副程式自己)(但就是一直有盲點)>"< : 希望有人指點一下, 謝謝!!我用的是E-views的統計軟體在寫程式 : E-views的程式寫法跟VB比較像(C語言的寫法我看不懂, 謝謝!) 應該有更好的作法 不過大致上簡單的想法是 取了一個之後, 後面遞迴去call m-1,n-1 void combination(int start, int end, int m,int n, char set[]) { int i,j; if(n==0) { print(set); } else { for(i = start ; i < end-n+1 ; i++) { set[i] = 1; combination(i+1,end,m-1,n-1,set); set[i] = 0; } } } -- 要和一個男生相處得很好,需要去瞭解他,但可以不用太愛他; 要和一個女生相處得很好,必須要很愛她,卻不可以太瞭解她。 莎士比亞 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.112.125.92

08/20 12:12, , 1F
感謝!!我再研究看看
08/20 12:12, 1F
文章代碼(AID): #18gg2iub (Programming)
討論串 (同標題文章)
文章代碼(AID): #18gg2iub (Programming)