作者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/cn.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