|
terse
银牌会员
    
积分 2404
发帖 946
注册 2005-9-8
状态 离线
|
   『第
16 楼』:
先抛个砖 成功率太低 那位继续 @echo off&setlocal enabledelayedexpansion
for /l %%i in (1 1 9) do call:lp %%i
pause&goto :eof
:lp
set/a var=!random!%%9+1
if defined .!var! (goto lp)else set/a n+=1&set str=!var! !str!&set .!var!=a
if !n! lss 9 goto lp
for /l %%i in (1 1 9) do set .%%i=
set var=%str%&set n=1
:lp0
for %%a in (!var!) do (
if defined .%%a set var=!var:%%a=!&goto lp0
for /l %%i in (1 1 %1) do if %%a equ !%%i%n%! set var=!var:%%a=!&goto lp0
set %1!n!=%%a&set .%%a=ok
if !n! lss 9 set/a n+=1&set var=!str:%%a=!&goto lp0
)
set str=&set n=
for /l %%i in (1 1 9) do set .%%i=
for /l %%i in (9 -1 1) do if "!%1%%i!"=="" set str=&set n=&goto lp
for /l %%i in (1 1 9) do set .%%i=&set/p=!%1%%i! <nul
echo.
[ Last edited by terse on 2008-8-10 at 05:23 PM ]
|

简单!简单!再简单! |
|
2008-8-10 17:16 |
|
|
obsolete
初级用户
 
积分 192
发帖 72
注册 2005-7-31
状态 离线
|
『第
17 楼』:
先生成一个规则的矩阵,然后交替进行行列交换,应该可以达到随机效果
|
|
2008-8-10 20:23 |
|
|
obsolete
初级用户
 
积分 192
发帖 72
注册 2005-7-31
状态 离线
|
『第
18 楼』:
感觉很像之前d一个老大出的乱序产生0-99数字的二维版,相关的算法应该都可以借鉴
|
|
2008-8-10 20:32 |
|
|
523066680
银牌会员
     SuperCleaner
积分 2362
发帖 1133
注册 2008-2-2
状态 离线
|
『第
19 楼』:
问:对角斜线中的数字是否能出现相同数字
|

|
|
2008-8-10 22:20 |
|
|
523066680
银牌会员
     SuperCleaner
积分 2362
发帖 1133
注册 2008-2-2
状态 离线
|
『第
20 楼』:
弄了一个7*7的……改成9*9 的弄到一半就就停了…… @echo off
setlocal enabledelayedexpansion
set a=0
for %%a in (1 2 3 4 5 6 7) do (set n%%a=%%a)
set /a n0=1,n8=2,n9=3
:a
set /a a+=1,b=0
md TheTest\hang%a%
:b
set /a b+=1
if not exist TheTest\Lie%b% (md TheTest\Lie%b%)
:b-1
set num=!n%random:~1,1%!
if exist TheTest\Hang%a%\!num! (goto :b-1)
if exist TheTest\Lie%b%\!num! (goto :b-1)
md TheTest\Hang%a%\!num!
md TheTest\Lie%b%\!num!
set h%a%=!num! !h%a%!
if %b% equ 7 (goto :b-end) else (goto :b)
:b-end
if %a% equ 7 (goto :end) else (goto :a)
:end
for /l %%a in (1,1,9) do echo,!h%%a!
pause>nul
--------------……这代码不好……
[ Last edited by 523066680 on 2008-8-16 at 05:56 PM ]
|

|
|
2008-8-11 10:19 |
|
|
obsolete
初级用户
 
积分 192
发帖 72
注册 2005-7-31
状态 离线
|
『第
21 楼』:
想太简单了,撤回17-18楼,
看各位老大解题
|
|
2008-8-11 13:16 |
|
|
moniuming
银牌会员
     永远的菜鸟
积分 1335
发帖 574
注册 2007-11-27 来自 广西
状态 离线
|
|
2008-8-11 13:50 |
|
|
523066680
银牌会员
     SuperCleaner
积分 2362
发帖 1133
注册 2008-2-2
状态 离线
|
『第
23 楼』:
哇 还是穷举的!强!
|

|
|
2008-8-11 14:06 |
|
|
moniuming
银牌会员
     永远的菜鸟
积分 1335
发帖 574
注册 2007-11-27 来自 广西
状态 离线
|
『第
24 楼』:
Originally posted by 523066680 at 2008-8-11 14:06:
哇 还是穷举的!强! 这个可不是穷举的,呵呵,不过也差不多了,汗...
|
|
2008-8-11 14:20 |
|
|
pusofalse
银牌会员
    
积分 1604
发帖 646
注册 2008-4-13
状态 离线
|
『第
25 楼』:
穷举吧。。那个ttl=30
但依然精彩,学习了!
|

心绪平和,眼藏静谧,无比安稳的火... Purification of soul...Just a false...^_^ |
|
2008-8-11 14:26 |
|
|
moniuming
银牌会员
     永远的菜鸟
积分 1335
发帖 574
注册 2007-11-27 来自 广西
状态 离线
|
『第
26 楼』:
Originally posted by pusofalse at 2008-8-11 14:26:
穷举吧。。那个ttl=30
但依然精彩,学习了! ttl=30是指每一位数字的计算次数限制在30次以内,如果超过的话就重置
其实取值范围是在已经出现的数字以外取的,并不是穷举
|
|
2008-8-11 14:30 |
|
|
terse
银牌会员
    
积分 2404
发帖 946
注册 2005-9-8
状态 离线
|
|
2008-8-14 19:28 |
|
|
moniuming
银牌会员
     永远的菜鸟
积分 1335
发帖 574
注册 2007-11-27 来自 广西
状态 离线
|
『第
28 楼』:
精彩!!!
好东西
学习了......
|
|
2008-8-15 11:55 |
|
|
523066680
银牌会员
     SuperCleaner
积分 2362
发帖 1133
注册 2008-2-2
状态 离线
|
|
2008-8-16 18:07 |
|
|
moniuming
银牌会员
     永远的菜鸟
积分 1335
发帖 574
注册 2007-11-27 来自 广西
状态 离线
|
『第
30 楼』:
精彩!!!
真高兴有那么精彩的代码,不过很可惜的是29楼的代码有规律可循,不能在九宫格游戏中运用,否则解题将不会有任何难度.
|
|
2008-8-17 13:43 |
|