中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟
中国DOS联盟论坛
现在时间是 2026-08-25 22:15
47,812 主题排行 / 349,910 发帖 / 今日 0 篇 / 48,264 会员排行
DOS批处理 & 脚本技术(批处理室) » [已解决]罗列用不同数字组成的所有三位数
可打印版本  2,228 / 7
第1楼 jmz573515 发表于 2007-01-27 02:00
银牌会员 发帖 464 积分 1,212
[已解决]罗列用不同数字组成的所有三位数
想写一个三位数的数字组合(如001,002...999),排除有两位数相等的(如001,112,313,449 等)组合以及三位数都相等的(如000,111...999)。

注:012,021,120,102,210,201这里只取任意一种,其它以此类推。

[ Last edited by jmz573515 on 2007-1-26 at 06:41 PM ]
第2楼 zhclvip 发表于 2007-01-27 02:10
初级用户 发帖 50 积分 138
合你心愿
dim msg
combine "0123456789",3,""
msgbox msg
Sub Combine(sar,num,str)
If num=0 Then
msg=msg&str&";"
Else
For i=1 To Len(sar)
Call Combine(Right(sar,Len(sar)-i),num-1,str&Mid(sar,i,1))
Next
End If
End Sub
第3楼 jmz573515 发表于 2007-01-27 02:13
银牌会员 发帖 464 积分 1,212
好,学习了。

(现在受限不能加分,过后补上。)
第4楼 namejm 发表于 2007-01-27 02:40
荣誉版主 发帖 1,737 积分 5,226 来自 成都
  我跟一个BAT版的,是用组合数的思路:

  遵照ccwan的建议,加上了统计结果。

[ Last edited by namejm on 2007-1-26 at 11:08 PM ]
第5楼 ccwan 发表于 2007-01-27 03:01
金牌会员 发帖 1,160 积分 2,725 来自 河北廊坊
斑斑的代码总是那么精彩,欣赏~~
第6楼 jmz573515 发表于 2007-01-27 03:01
银牌会员 发帖 464 积分 1,212
谢谢二位!
第7楼 tongwandou 发表于 2007-04-19 10:02
初级用户 发帖 50 积分 112
二楼用C写得,比较简单!我喜欢4楼给出的代码,谢谢二位!
第8楼 minmin888 发表于 2007-05-08 10:37
初级用户 发帖 62 积分 127
学到东西了!
[ 联系联盟系统管理团队 - 中国DOS联盟 - 标准版 ]
Sponsored by ifanr Inc | © 2001–2023