作者aa4997 (aa4997)
看板C_and_CPP
標題[問題] 新手_印出字串
時間Mon Nov 28 21:46:16 2016
開發平台(Platform): (Ex: Win10, Linux, ...)
win10
編譯器(Ex: GCC, clang, VC++...)+目標環境(跟開發平台不同的話需列出)
Visual Studio
額外使用到的函數庫(Library Used): (Ex: OpenGL, ...)
問題(Question):
字串每個位置可以放一個字母a或b或c或d,
印出所有長度小於6的字串
有爬版過,也知道如果是四個字串的排列要怎麼打
但是如果是四個字母可重複使用而且字串長度可以是1,2,3,4,5的話
想很久還是不知道從哪裡下手
請各位有經驗的大大幫我解惑
感激不盡
餵入的資料(Input):
預期的正確結果(Expected Output):
錯誤結果(Wrong Output):
程式碼(Code):(請善用置底文網頁, 記得排版)
補充說明(Supplement):
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 140.113.140.77
※ 文章網址: https://webptt.com/m.aspx?n=bbs/C_and_CPP/M.1480340779.A.364.html
1F:→ james732: 遞迴? 11/28 22:00
2F:→ aa4997: 沒有要求一定要用哪種方式~ 11/28 22:16
3F:→ MOONY135: 你的描述有點問題 可以給幾個INPUT跟OUTPUT嗎\ 11/28 22:21
4F:→ jobsdone: 排列組合嗎 11/28 22:22
5F:→ aa4997: 對是類似排列組合的題目,希望印出a/b/c/d/aa/ab/ac/ad/ba/ 11/28 23:06
6F:→ aa4997: bb....一直到字串長度是5 11/28 23:06
7F:推 garyl62327: 因該是指 以abcd四個字母 窮舉出指定長度的字串 11/28 23:08
8F:→ garyl62327: 因為要指定長度 因該只能遞迴解了@@? 11/28 23:10
9F:→ Schottky: 「應」該 11/28 23:22
10F:推 littleshan: 就五進位法啊,1234改成abcd,然後遇到有0的就跳過去 11/28 23:23
11F:→ garyl62327: 確實是「因」該壓! 因為不確定orz 11/28 23:28
12F:→ pttworld: 產生所有長度的所有排列。產生所有排列再套一層。 11/28 23:37
13F:→ Caesar08: 「應」該 11/29 00:28
14F:→ garyl62327: 原來...沒有因該這個字...我錯了orz 11/29 02:53
15F:推 asd456fgh778: 樓上的國文老師在哭泣 11/29 09:47
16F:推 wvwvwvwvwv: 我一直以為因該=因為不確定 是反串 沒想到真有人認為 11/29 10:27
17F:→ garyl62327: 我對不起我的國文老師orz 11/29 12:02
18F:→ lucky1lk: 不行 罰你 抄20次 "應該" 11/29 12:43
19F:→ Schottky: 如果不懂遞迴,我覺得你也可以用迴圈思考一下該怎麼做 11/29 15:20
20F:→ Schottky: 不必一直想著排列組合,用直覺去寫寫看 11/29 15:22
21F:推 CoNsTaR: 你這個不就是4進位而已嗎?0123用abcd代表,一開始是0, 11/29 16:07
22F:→ CoNsTaR: 然後一直加1就可以了 11/29 16:07
23F:→ CoNsTaR: 原來樓上有人說過了 orz... 11/29 16:08
24F:→ aa4997: 回C大跟l大,請問要怎麼把十進位改成四進位呢?爬文都只 11/29 18:30
25F:→ aa4997: 有看到轉二進位跟十六進位。謝謝~ 11/29 18:30
26F:推 chuegou: 就除四 結果進位 餘數為當前位 11/29 18:58
27F:→ MOONY135: 他應該是說沒看到函數可以直接轉吧 11/29 19:48
28F:推 CoNsTaR: 你有做過大數加法嗎 就一樣的做法 11/29 21:12
30F:→ CoNsTaR: 其實原 Po 本來的問題就是要如何用 C 語言來做 {a,b,c,d} 12/01 17:35
31F:→ CoNsTaR: 的笛卡爾積了 不是嗎 :p 12/01 17:35
32F:→ CoNsTaR: 只是他沒有把笛卡爾積這幾個字寫出來而已 12/01 17:36