[问题] 简单的排列

楼主: mikemagic88 (Mikemagic88)   2016-09-20 00:27:44
开发平台(Platform): (Ex: VC++, GCC, Linux, ...)
Dev C++
额外使用到的函数库(Library Used): (Ex: OpenGL, ...)
应该没有吧
问题(Question):
使用者输入数字后, 输出所有可能之排列.
喂入的资料(Input):
假设是3好了
预期的正确结果(Expected Output):
[1] 1, 2, 3
[2] 1, 3, 2
[3] 2, 1, 3
[4] 2, 3, 1
[5] 3, 1, 2
[6] 3, 2, 1
错误结果(Wrong Output):

程式码(Code):(请善用置底文网页, 记得排版)
http://ideone.com/7iBiyM
补充说明(Supplement):
分为 "不使用递回" 和 "使用递回" 两种状况
我先不用递回写
作者: firejox (Tangent)   2016-09-20 02:46:00
可以去研究STL的next_permutation 怎么写的
作者: Sidney0503 (Sidney0503)   2016-09-20 08:12:00
作业自己做
作者: springman (司布林)   2016-09-20 11:24:00
用堆叠吧!
作者: HolyBugTw (HolyBug)   2016-09-20 13:58:00
我有点觉得这一行可能不适合你...
作者: springman (司布林)   2016-09-20 16:12:00
也不一定啦,看已经学程式设计多久了,记得我大一时对类似的题目也没有头绪,对递回无法掌握,大约到大三才慢慢能够掌握。
作者: Sidney0503 (Sidney0503)   2016-09-20 20:06:00
不会就用暴力解 ok? 这不是程式能力的问题而是基本数学思维不够 自行搜Computational Thinking
作者: ronin728 (浪人)   2016-09-20 22:42:00
不过国内基础程式设计的书与课程都是教语法很少有算法方面具启蒙性的课纲,通常要靠学生自己
作者: noodleT (面T)   2016-09-21 00:05:00
先别管这题了,请先思考一下变量“命名”这几个字

Links booklink

Contact Us: admin [ a t ] ucptt.com