Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

誰能幫幫忙..關於 c

0 views
Skip to first unread message

....

unread,
Dec 22, 1998, 3:00:00 AM12/22/98
to


目前小弟想要寫一個組合 C 的功用

就是有 A B C D E

取 k=3

可得 ABC ABD ABE ACD ACE ADE

可以使用 k 個 FOR 回圈完成

但是因為 k 可能很大

所以想說使用遞迴

但是太難,想不出來

是否有高手可以幫忙,或是介紹書籍

Thanks

--
[m※ 來源:‧ [1;34;47m成大工科忘情小築 [0m bbs.es.ncku.edu.tw‧[FROM: med-info2.ee.nt] [m [40m

閒人

unread,
Dec 22, 1998, 3:00:00 AM12/22/98
to
【 在 fisht...@bbs.es.ncku.edu.tw (....) 的大作中提到: 】
: 目前小弟想要寫一個組合 C 的功用

: 就是有 A B C D E
: 取 k=3
: 可得 ABC ABD ABE ACD ACE ADE
: 可以使用 k 個 FOR 回圈完成
: 但是因為 k 可能很大
: 所以想說使用遞迴
: 但是太難,想不出來
: 是否有高手可以幫忙,或是介紹書籍
: Thanks
you can use STACK!!
ABCDE先取其中k個~~就有k條路...
1.取A剩BCDE 2.取B剩ACDE 3.取C剩ABDE 4.取D剩ABCE 5.取E剩ABCD (此時把54321push)
再從這五條路每條再分成4條...如第一條會分成 (pop第1條)
1-1.取AB剩CDE 1-2.取AC剩BDE 1-3.取AD剩BCE 1-4.取AE剩BCD (push1-4,1-3...)
如再從1-1再細分成三條路出去...就成為下面這樣 (pop1-1)
1-1-1.取ABC剩DE 1-1-2.取ABD剩CE 1-1-3.取ABE剩CD (push1-1-3....)
當K=3時我們前面輸出的前三個就是ABC及ABD及ABE.... (到尾pop出即答案)
而從1-2再分下來會得到ACB、ACD、ACE之後以此類推...
這是我們以前把它畫成tree去使用的方法..程式很好寫~~但需要用到STACK..
遞迴也簡單~~但彈性可能會比較小...本來應該用樹的方式畫出...
但在bbs上我就不大會畫了~希望能幫助到你...

--
[m [1;32m※ 來源:‧TKU CS BBS bbs.cs.tku.edu.tw‧[FROM: PCA3.im.tku.edu] [m

0 new messages