中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟
中国DOS联盟论坛
现在时间是 2026-08-04 18:31
48,038 主题排行 / 350,123 发帖 / 今日 0 篇 / 48,251 会员排行
DOS批处理 & 脚本技术(批处理室) » [已结]排列组合
可打印版本  6,455 / 36
第31楼 clian76 发表于 2008-12-21 04:21
中级用户 发帖 162 积分 363
感谢这么多高手,非常完美!
第32楼 clian76 发表于 2008-12-21 04:36
中级用户 发帖 162 积分 363
不过现在又有新问题,如输入字符有重复,如:13543 。用楼上的代码可以完美的得到所有打乱顺序的组合。但如果这5个字符中如有重复的字符,那输出的结果中也就会有完全一样的多个字符串。
如例中 13543 会生成如下结果,每个组合都出现了两次, 有什么办法可让它生成的时候不重复多余的一样的字符串?
----------------------------------list.x----------------------------------------------
13543
13534
13453
13435
13354
13345
15343
............
13345
33541
33415
33451
35134
35143
35314
35341
35413
35431
34135
34153
34315
34351
34513
34531
-----------------------------------------------end------------------------------------------

[ Last edited by clian76 on 2008-12-21 at 04:37 ]
第33楼 HAT 发表于 2008-12-21 11:34
版主 发帖 5,017 积分 9,023
Re 32楼
先删除输入字符串中的重复字符,再排列组合行不?
第34楼 terse 发表于 2008-12-21 17:53
银牌会员 发帖 946 积分 2,404
无临时文件


在batman兄的代码上简化下 有临时文件


[ Last edited by terse on 2008-12-24 at 03:12 ]
第35楼 clian76 发表于 2008-12-23 13:49
中级用户 发帖 162 积分 363
测试了一下楼上的代码,还是没达到想要的要求。楼上的代码只是告诉共有多少种组合。但并没有排除已存在的重复组合。
我的办法是在生成了一个文件后用FINDSTR再自我查找一次,过滤掉重复的字符串,
只是麻烦点。希望高手整个简便的就好了。
最后再次谢谢高手们!都太厉害了!
第36楼 terse 发表于 2008-12-24 03:14
银牌会员 发帖 946 积分 2,404
Originally posted by clian76 at 2008-12-23 13:49:
测试了一下楼上的代码,还是没达到想要的要求。楼上的代码只是告诉共有多少种组合。但并没有排除已存在的重复组合。
我的办法是在生成了一个 ...


重新修正一下
删除输入字符串中的重复字符后 再组合 不知符合要求否?
第37楼 523066680 发表于 2009-12-13 10:23
银牌会员 发帖 1,133 积分 2,362
修改过
上一页  1 2 3
[ 联系联盟系统管理团队 - 中国DOS联盟 - 标准版 ]
Sponsored by ifanr Inc | © 2001–2023