![]() |
中国DOS联盟-- 联合DOS 推动DOS 发展DOS --联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum |
| 游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟 |
|
中国DOS联盟论坛 现在时间是 2026-08-04 19:43 |
共 48,038 主题排行 / 350,123 发帖 / 今日 0 篇 / 48,251 会员排行 |
| DOS批处理 & 脚本技术(批处理室) » [已结]排列组合 |
| 可打印版本 6,461 / 36 |
| 第16楼 bat-zw | 发表于 2008-06-29 19:18 |
| 金牌会员 发帖 1,276 积分 3,105 | |
|
脑袋想破了,还只能用替归法来算,以下代码在理论上适合10位内的排列,但不知怎么到了9位就出问题,郁闷啊:
[ Last edited by zw19750516 on 2008-6-29 at 07:28 PM ] |
|
| 第17楼 plp626 | 发表于 2008-06-29 21:29 |
| 银牌会员 发帖 1,020 积分 2,278 | |
|
用递归 我想核心的代码不会超过3行可以搞定,谁来挑战下?
zw兄: 你这个代码生成了临时文件,也不叫递归,你的代码可以归为“另类” |
|
| 第18楼 moniuming | 发表于 2008-06-29 21:34 |
| 银牌会员 发帖 574 积分 1,335 来自 广西 | |
|
太多了麻烦,最主要是实现了就行了,想要排列更多的话,以此类推...
|
|
| 第19楼 pusofalse | 发表于 2008-06-29 21:35 |
| 银牌会员 发帖 646 积分 1,604 | |
|
我想这道题如果攻透了 会有很大用处的。。。
|
|
| 第20楼 HAT | 发表于 2008-06-30 00:18 |
| 版主 发帖 5,017 积分 9,023 | |
|
什么用处?生成暴力破解用的密码字典?
|
|
| 第21楼 pusofalse | 发表于 2008-06-30 01:05 |
| 银牌会员 发帖 646 积分 1,604 | |
|
不只是暴力破解。。。总之就是与解码有关了。。。
|
|
| 第22楼 moniuming | 发表于 2008-06-30 14:59 |
| 银牌会员 发帖 574 积分 1,335 来自 广西 | |
|
如果是猜测密码的话,把18楼的代码改成以下的也许更合适些吧
|
|
| 第23楼 WANKOILZ | 发表于 2008-06-30 17:40 |
| 初级用户 发帖 89 积分 198 来自 重庆 | |
|
我用“插入法”,发现效率还不错,代码也简短:
|
|
| 第24楼 moniuming | 发表于 2008-06-30 18:51 |
| 银牌会员 发帖 574 积分 1,335 来自 广西 | |
|
回23楼 经测试当输入7个数的时候,23楼的代码花费了三十几秒,而22楼的只用了几秒,试试??
要上班了,明天再来看结果,哈哈 |
|
| 第25楼 WANKOILZ | 发表于 2008-06-30 20:41 |
| 初级用户 发帖 89 积分 198 来自 重庆 | |
|
肯定,call得太多自然效率低,我的关键是不限制字符数目。
|
|
| 第26楼 clian76 | 发表于 2008-12-01 16:31 |
| 中级用户 发帖 162 积分 363 | |
|
如果给出的字符有重复就出错了!如:abbcd 又如:12321
可以修改去掉这个BUG吗 |
|
| 第27楼 523066680 | 发表于 2008-12-17 17:19 |
| 银牌会员 发帖 1,133 积分 2,362 | |
|
文、代码:523066680
blog: http://hi.baidu.com/523066680 发表于:http://www.cn-dos.net/forum/viewthread.php?tid=41243&fpage=1&highlight=&page=2 27楼 先贴代码 我来了,黑板报出完了,心情无比放松,看中这道题,"研究"了几天,有点结果了,分享下. 主要内容 1.谈谈前面楼的代码 2.分享我在解题过程中学到的东西 首先谈谈楼上的内容 以 plp626 提出的多重for最为快速,虽然只能对指定数量的字符,但是可以修改啊, 22楼修改的不错,我觉得能到10个字符就可以满足需求了,尤其是速度就像直接type答案一样快. 但是作为一个学者,寻求更好的办法是有必要的.于是23楼的代码超短(Good!),且符合要求 虽然没来得及理解,暂时发现的问题是: 当我输入6个字符时,结束的时候按Enter居然不退出,估计 可能死循环了.又看了下,汗,请大家测试的时候在pause>nul后面加exit 另外,输入字符数多运行时间长是很自然的事情,我觉得不用挑这个毛病. 本人认为23楼代码很短,精悍,值得学习下的. 下面先说说本人解题过程学到的东西: [主要是想要讨论call 的参数递归,关于这道题 ,上次看到batman 有快速的解法, 我就不转载了 期待 batman 大哥 续帖] 1.也想对plp626代码改进,玩了一下用%var% 代表 一条命令执行的方法,下面给出理解版: 感觉太好玩了,不够"自动化"对吧?ok 我们用for 来决定要用几重for ,曾试着重组那个多重For的思路, 不过变量跟符号太多了,实在搞不下去,停工,思路别浪费,做别的. 用这个思路实现: 根据用户输入的符号,列出这些符号包括本身的所有组合 这是个简单点的题目,例如输入 1 2 则输出 1 1 , 1 2 , 2 1 , 2 2 好处主要是允许输入字符数不定. 虽然不了解"密码字典",不过感觉上要做的话这个代码应该更适合(比如说密码是223456的时候). 代码如下: 2.call 参数 回归 实现这个,我觉得可能Call可以实现,记得call 返回的时候,接下来的东西都是原来的,会不会参数也是原来的? 所以,不能期待set 的变量也能有"重叠的记忆功能" ,要么加上编号,但会很繁杂的. -----------------以下内容谈论call 参数 废话说多了,开始探究call有多强大(call 参数返回 理解版): 还算好理解吧? 来个多层的,玩转call: 越玩越有趣啊, 自己那个代码就不打算详细分析了,写这篇文章不是晕大家的,所以我也主要用中文描述,讲一些可能用的上的东西. 温馨提示:很多问题阻碍了我很久,而我最后一次理清所有思路,是在关上电脑的时候,可见:经常对着电脑不利于思考啊. ----------------末 本人知识及能力实在有限,感觉这样分层的call并分层的返回 应该就是前面楼说的 "递归" 了吧 希望有资料的人把相关资料分享下哈. 现在感觉像是进入了完全不知道的逻辑领域.... [ Last edited by 523066680 on 2008-12-19 at 10:41 ] |
|
| 第28楼 523066680 | 发表于 2008-12-18 10:36 |
| 银牌会员 发帖 1,133 积分 2,362 | |
|
我写的这么辛苦 到网吧发表还得花钱,怎能不顶起来?
要是没人鸟 我以后也懒得写了.... [ Last edited by 523066680 on 2008-12-18 at 11:06 ] |
|
| 第29楼 wxcute | 发表于 2008-12-18 11:51 |
| 中级用户 发帖 211 积分 458 | |
|
有些时候还是留给人自由思考的空间好。思路仅作为讨论用,而且是写得越简单越好,如果写得过于详细,容易造成思维定势。
一点建议,请勿见怪。 |
|
| 第30楼 523066680 | 发表于 2008-12-19 10:24 |
| 银牌会员 发帖 1,133 积分 2,362 | |
|
说的很好 有道理 , 我决定把 文章改下
只讨论我过程中学到的批处理技术 |
|
| 上一页 1 2 3 下一页 |
|
[ 联系联盟系统管理团队 -
中国DOS联盟 -
标准版 ] Sponsored by ifanr Inc | © 2001–2023 |