![]() |
中国DOS联盟-- 联合DOS 推动DOS 发展DOS --联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum |
| 游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟 |
|
中国DOS联盟论坛 现在时间是 2026-08-09 00:17 |
共 47,811 主题排行 / 349,895 发帖 / 今日 0 篇 / 48,253 会员排行 |
| DOS批处理 & 脚本技术(批处理室) » 出个小题,消遣一下~ |
| 可打印版本 670 / 10 |
| 第1楼 pusofalse | 发表于 2008-06-07 23:09 |
| 银牌会员 发帖 646 积分 1,604 | |
|
出个小题,消遣一下~ 有点无聊。。
一堆球,红球,黑球,白球,各是7个,8个,5个,要求从中随意取出13个,这13个当中,必须最少有3个红球。输出所有可能的组合方式~ |
|
| 第2楼 slore | 发表于 2008-06-07 23:24 |
| 铂金会员 发帖 2,478 积分 5,212 | |
|
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 |
|
| 第3楼 26933062 | 发表于 2008-06-08 00:27 |
| 银牌会员 发帖 879 积分 2,268 | |
|
楼上的好像不全
: |
|
| 第4楼 pusofalse | 发表于 2008-06-08 00:32 |
| 银牌会员 发帖 646 积分 1,604 | |
|
2楼 貌似没有考虑黑球是0个,或者白球是0个的情况~ 题中已经说明了是任意。。。 还有附加条件,红球必须最少3个
|
|
| 第5楼 pusofalse | 发表于 2008-06-08 00:35 |
| 银牌会员 发帖 646 积分 1,604 | |
|
抛砖引玉,希望能求得更多的解 @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 |
|
| 第6楼 26933062 | 发表于 2008-06-08 00:38 |
| 银牌会员 发帖 879 积分 2,268 | |
|
5楼的简洁多了,
靠居然忘了 把for 从0开始,白搞了那么多if判断。 |
|
| 第7楼 ness | 发表于 2008-06-08 00:41 |
| 新手上路 发帖 4 积分 8 | |
| 第8楼 ness | 发表于 2008-06-08 00:41 |
| 新手上路 发帖 4 积分 8 | |
|
怎么一会工夫有人发了啊
|
|
| 第9楼 pusofalse | 发表于 2008-06-08 00:43 |
| 银牌会员 发帖 646 积分 1,604 | |
|
7楼的朋友,真是同出一辙啊!~ 想到一块去了~^_^
|
|
| 第10楼 slore | 发表于 2008-06-08 01:27 |
| 铂金会员 发帖 2,478 积分 5,212 | |
|
@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 |
|
| 第11楼 pusofalse | 发表于 2008-06-08 01:32 |
| 银牌会员 发帖 646 积分 1,604 | |
|
真的是太棒了!运行时间,绝对的0.00秒。。。
|
|
|
[ 联系联盟系统管理团队 -
中国DOS联盟 -
标准版 ] Sponsored by ifanr Inc | © 2001–2023 |