中国DOS联盟

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

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

中国DOS联盟论坛
现在时间是 2026-08-05 09:16
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 如何输出3位不重复的数字 查看 1,025 回复 8
楼 主 如何输出3位不重复的数字 发表于 2007-07-27 19:22 ·  中国 河南 南阳 电信
初级用户
积分 61
发帖 32
注册 2007-05-11 20:17
19年会员
UID 88214
性别 男
状态 离线
各位老师,我想把0到9这10个数取任意3个数的不重复排列后保存到一个.txt文件。

[ Last edited by bjsh on 2007-7-31 at 12:36 AM ]
2 发表于 2007-07-27 21:05 ·  中国 浙江 衢州 中移铁通
银牌会员
★★★
积分 1,928
发帖 931
注册 2007-01-06 11:46
19年会员
UID 75624
性别 男
状态 离线
呵呵,弄个简陋的

@echo off
set /a a=%random%%%10
:bb
set /a b=%random%%%10
if %b%==%a% goto bb
:cc
set /a c=%random%%%10
if %c%==%a% (goto cc) else (if %c%==%b% goto cc)

echo %a% %b% %c%
pause
3 发表于 2007-07-27 21:10 ·  中国 浙江 衢州 中移铁通
银牌会员
★★★
积分 1,928
发帖 931
注册 2007-01-06 11:46
19年会员
UID 75624
性别 男
状态 离线
抱歉,没看懂楼主的意思,见笑了

楼主的意思是排列组合问题。

但我现在已经全忘光了,不好意思。

[ Last edited by wudixin96 on 2007-7-28 at 10:02 AM ]
4 发表于 2007-07-28 08:57 ·  中国 河南 南阳 电信
初级用户
积分 61
发帖 32
注册 2007-05-11 20:17
19年会员
UID 88214
性别 男
状态 离线
谢谢wudixin96老师的回复,也是我没有表达清楚。
我的意思是0123456789这10个数取3个数3位数的全排列,比如:123 132 321。。。。213 231 。。。一直到9不重复。将这些3位数保存到一个.txt里。

就是彩票排列3

[ Last edited by diangongban on 2007-7-28 at 09:17 AM ]
5 发表于 2007-07-28 10:46 ·  中国 河北 廊坊 三河市 移动
金牌会员
★★★★
积分 2,725
发帖 1,160
注册 2006-09-23 12:00
19年会员
UID 63486
来自 河北廊坊
状态 离线
你是否要这种效果?
@echo off
for /l %%i in (0 1 9) do (
for /l %%j in (0 1 9) do (
for /l %%k in (0 1 9) do (
if not %%i==%%j if not %%j==%%k if not %%k==%%i echo %%i%%j%%k>>1.txt
)
)
)
start 1.txt


要是认为123和213是一种组合,不允许出现的话,可以这样
@echo off
for /l %%i in (0 1 9) do (
for /l %%j in (%%i 1 9) do (
for /l %%k in (%%j 1 9) do (
if not %%i==%%j if not %%j==%%k if not %%k==%%i echo %%i%%j%%k>>1.txt
)
)
)
start 1.txt
三人行,必有吾师焉。 学然后知不足,教然后知困,然后能自强也。
6 发表于 2007-07-28 15:03 ·  中国 河南 南阳 电信
初级用户
积分 61
发帖 32
注册 2007-05-11 20:17
19年会员
UID 88214
性别 男
状态 离线
谢谢ccwan

有点意思了,少了001 110 022 220。。。111 222 。。。。就是就是彩票排列3的所有组合。

[ Last edited by diangongban on 2007-7-28 at 03:05 PM ]
7 发表于 2007-07-28 15:06 ·  中国 浙江 杭州 电信
银牌会员
★★★
积分 1,928
发帖 931
注册 2007-01-06 11:46
19年会员
UID 75624
性别 男
状态 离线
什么?楼主的意思不是从0~9十位数中随机取得3个数字(不重复)吗,再

组成一个三位数。

001等,有重复啊。
8 发表于 2007-07-28 15:22 ·  中国 河北 廊坊 三河市 移动
金牌会员
★★★★
积分 2,725
发帖 1,160
注册 2006-09-23 12:00
19年会员
UID 63486
来自 河北廊坊
状态 离线
晕死!要重复干嘛说不重复排列呢?
@echo off
for /l %%i in (0 1 9) do (
for /l %%j in (0 1 9) do (
for /l %%k in (0 1 9) do (
echo %%i%%j%%k>>1.txt
)
)
)
start 1.txt
三人行,必有吾师焉。 学然后知不足,教然后知困,然后能自强也。
9 发表于 2007-07-29 09:50 ·  中国 河南 南阳 电信
初级用户
积分 61
发帖 32
注册 2007-05-11 20:17
19年会员
UID 88214
性别 男
状态 离线
谢谢ccwan
问题解决
论坛跳转: