中国DOS联盟

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

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

中国DOS联盟论坛
现在时间是 2026-08-08 23:21
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 出个小题,消遣一下~ 查看 669 回复 10
楼 主 出个小题,消遣一下~ 发表于 2008-06-07 23:09 ·  中国 山东 淄博 联通
银牌会员
★★★
积分 1,604
发帖 646
注册 2008-04-13 23:39
18年会员
UID 115804
性别 男
状态 离线
有点无聊。。

一堆球,红球,黑球,白球,各是7个,8个,5个,要求从中随意取出13个,这13个当中,必须最少有3个红球。输出所有可能的组合方式~
心绪平和,眼藏静谧,无比安稳的火... Purification of soul...Just a false...^_^
2 发表于 2008-06-07 23:24 ·  中国 陕西 西安 电信
铂金会员
★★★★
积分 5,212
发帖 2,478
注册 2007-02-08 23:39
19年会员
UID 79003
性别 男
状态 离线
3 5 5
3 6 4
3 7 3
3 8 2
4 4 5
4 5 4
4 6 3
4 7 2
4 8 1
5 3 5
5 4 4
5 5 3
5 6 2
5 7 1
6 2 5
6 3 4
6 4 3
6 5 2
6 6 1
7 1 5
7 2 4
7 3 3
7 4 2
7 5 1
S smile 微笑,L love 爱,O optimism 乐观,R relax 放松,E enthusiasm 热情...Slore
3 发表于 2008-06-08 00:27 ·  中国 湖南 娄底 电信
银牌会员
★★★
积分 2,268
发帖 879
注册 2006-12-19 16:23
19年会员
UID 73968
性别 男
状态 离线
楼上的好像不全
:

@echo off&setlocal enabledelayedexpansion
for /l %%a in (3 1 7) do (
for /l %%b in (1 1 8) do (
for /l %%c in (1 1 5) do (
set /a n=13-%%a,m=%%b+%%c,k=%%a+%%b,i=%%a+%%c
if !m! equ !n! (set .%%a %%b %%c=a) else (
if !k! equ 13 (set .%%a %%b 0=a) else if !i! equ 13 set .%%a 0 %%c=a
))))
for /f "delims=.=" %%a in ('set .') do echo %%a
pause
致精致简!
4 发表于 2008-06-08 00:32 ·  中国 山东 淄博 联通
银牌会员
★★★
积分 1,604
发帖 646
注册 2008-04-13 23:39
18年会员
UID 115804
性别 男
状态 离线
2楼 貌似没有考虑黑球是0个,或者白球是0个的情况~ 题中已经说明了是任意。。。 还有附加条件,红球必须最少3个
心绪平和,眼藏静谧,无比安稳的火... Purification of soul...Just a false...^_^
5 抛砖引玉,希望能求得更多的解 发表于 2008-06-08 00:35 ·  中国 山东 淄博 联通
银牌会员
★★★
积分 1,604
发帖 646
注册 2008-04-13 23:39
18年会员
UID 115804
性别 男
状态 离线
@echo off&setlocal enabledelayedexpansion
echo %time%
for /l %%r in (3 1 7) do (
for /l %%b in (0 1 8) do (
for /l %%w in (0 1 5) do (
set/a res=%%r+%%b+%%w
if !res! equ 13 echo %%r %%b %%w
)
)
)
echo %time%
pause
心绪平和,眼藏静谧,无比安稳的火... Purification of soul...Just a false...^_^
6 发表于 2008-06-08 00:38 ·  中国 湖南 娄底 电信
银牌会员
★★★
积分 2,268
发帖 879
注册 2006-12-19 16:23
19年会员
UID 73968
性别 男
状态 离线
5楼的简洁多了,
靠居然忘了 把for 从0开始,白搞了那么多if判断。
本帖最近评分记录 (共 1 条) 点击查看详情
评分人分数时间
joyn +4 2008-06-08 01:02
致精致简!
7 发表于 2008-06-08 00:41 ·  中国 江苏 常州 溧阳市 电信
新手上路
积分 8
发帖 4
注册 2008-06-05 01:01
18年会员
UID 120513
性别 男
状态 离线

@echo off&setlocal enabledelayedexpansion
for /l %%a in (3 1 7) do (
for /l %%b in (0 1 8) do (
for /l %%c in (0 1 5) do (
set/a n=%%a+%%b+%%c
if !n! equ 13 echo %%a %%b %%c
)))
pause
8 发表于 2008-06-08 00:41 ·  中国 江苏 常州 溧阳市 电信
新手上路
积分 8
发帖 4
注册 2008-06-05 01:01
18年会员
UID 120513
性别 男
状态 离线
怎么一会工夫有人发了啊
9 发表于 2008-06-08 00:43 ·  中国 山东 淄博 联通
银牌会员
★★★
积分 1,604
发帖 646
注册 2008-04-13 23:39
18年会员
UID 115804
性别 男
状态 离线
7楼的朋友,真是同出一辙啊!~ 想到一块去了~^_^
心绪平和,眼藏静谧,无比安稳的火... Purification of soul...Just a false...^_^
10 发表于 2008-06-08 01:27 ·  中国 陕西 西安 电信
铂金会员
★★★★
积分 5,212
发帖 2,478
注册 2007-02-08 23:39
19年会员
UID 79003
性别 男
状态 离线
@echo off&setlocal enabledelayedexpansion
echo %time%
for /l %%r in (3 1 7) do (
for /l %%w in (0 1 5) do (
set/a res=13-%%r-%%w
if !res! LSS 9 echo %%r !res! %%w
)
)
echo %time%
pause
本帖最近评分记录 (共 2 条) 点击查看详情
评分人分数时间
pusofalse +8 2008-06-08 01:29
26933062 +5 2008-06-08 01:34
S smile 微笑,L love 爱,O optimism 乐观,R relax 放松,E enthusiasm 热情...Slore
11 发表于 2008-06-08 01:32 ·  中国 山东 淄博 联通
银牌会员
★★★
积分 1,604
发帖 646
注册 2008-04-13 23:39
18年会员
UID 115804
性别 男
状态 离线
真的是太棒了!运行时间,绝对的0.00秒。。。
心绪平和,眼藏静谧,无比安稳的火... Purification of soul...Just a false...^_^
论坛跳转: