Re: [請益] 排列組合的程式邏輯
用個 stack, 做 push 和 pop 的 operation 就可以了
畫一下圖..就可以找出規律. 如:
push 1
push 2 <--- 1+1
push 3 stack 長度為 M, 印出 stack =>(1 2 3)
pop 3
push 4 stack 長度為 M, 印出 stack =>(1 2 4)
pop 4
push 5 stack 長度為 M, 印出 stack => (1 2 5)
pop 5 5>=N, 再 pop
pop 2
push 3 <--- 2+1
push 4 stack 長度為 M, 印出 stack => (1 3 4)
....
要注意 如果要 pop 空的 stack 時, 程式就應結束了
※ 引述《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語言的寫法我看不懂, 謝謝!)
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 61.230.222.120
討論串 (同標題文章)