中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net  论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » [已解决]罗列用不同数字组成的所有三位数
作者:
标题: [已解决]罗列用不同数字组成的所有三位数 上一主题 | 下一主题
jmz573515
银牌会员




积分 1212
发帖 464
注册 2006-12-13
状态 离线
『楼 主』:  [已解决]罗列用不同数字组成的所有三位数

想写一个三位数的数字组合(如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 ]

2007-1-27 02:00
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
zhclvip
初级用户





积分 138
发帖 50
注册 2007-1-23
状态 离线
『第 2 楼』:  合你心愿

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

   此帖被 +9 点积分      点击查看详情   
评分人:【 ccwan 分数: +5  时间:2007-1-27 02:37
评分人:【 jmz573515 分数: +4  时间:2007-1-27 08:11


2007-1-27 02:10
查看资料  发短消息 网志   编辑帖子  回复  引用回复
jmz573515
银牌会员




积分 1212
发帖 464
注册 2006-12-13
状态 离线
『第 3 楼』:  

好,学习了。

(现在受限不能加分,过后补上。)

2007-1-27 02:13
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
namejm
荣誉版主

batch fan


积分 5226
发帖 1737
注册 2006-3-10
来自 成都
状态 离线
『第 4 楼』:  

  我跟一个BAT版的,是用组合数的思路:
@echo off
set str=0123456789
cd.>result.txt
setlocal enabledelayedexpansion
for /l %%i in (0,1,7) do (
    set /a num1=%%i+1
    for /l %%j in (!num1!,1,8) do (
        set /a num2=%%j+1
        for /l %%k in (!num2!,1,9) do (
            set /a count+=1
            echo !str:~%%i,1!!str:~%%j,1!!str:~%%k,1!>>result.txt
        )
    )
)
echo   各个数位上的数字互不相同,且组成该数的数字与其他数中的数字不完全相同的三位数有 %count% 个>>result.txt
start result.txt
  遵照ccwan的建议,加上了统计结果。

[ Last edited by namejm on 2007-1-26 at 11:08 PM ]

   此帖被 +9 点积分      点击查看详情   
评分人:【 ccwan 分数: +5  时间:2007-1-27 02:46
评分人:【 jmz573515 分数: +4  时间:2007-1-27 23:45




尺有所短,寸有所长,学好CMD没商量。
考虑问题复杂化,解决问题简洁化。
2007-1-27 02:40
查看资料  发短消息 网志   编辑帖子  回复  引用回复
ccwan
金牌会员




积分 2725
发帖 1160
注册 2006-9-23
来自 河北廊坊
状态 离线
『第 5 楼』:  

斑斑的代码总是那么精彩,欣赏~~



三人行,必有吾师焉。   学然后知不足,教然后知困,然后能自强也。
2007-1-27 03:01
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
jmz573515
银牌会员




积分 1212
发帖 464
注册 2006-12-13
状态 离线
『第 6 楼』:  

谢谢二位!

2007-1-27 03:01
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
tongwandou
初级用户





积分 112
发帖 50
注册 2007-4-15
状态 离线
『第 7 楼』:  

二楼用C写得,比较简单!我喜欢4楼给出的代码,谢谢二位!

2007-4-19 10:02
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
minmin888
初级用户





积分 127
发帖 62
注册 2007-4-19
状态 离线
『第 8 楼』:  

学到东西了!

2007-5-8 10:37
查看资料  发短消息 网志   编辑帖子  回复  引用回复

请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题



论坛跳转: