马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
$arr = New-Object 'int[,]' 9,9
for($i=0;$i-lt 9;$i++){
for($j=0;$j-lt 9 ;$j++){
$arr[$i,$j]=0
}
}
$dx=-1,0,1,0
$dy=0,1,0,-1
$x=0
$y=0
$d=0
$m=9
$n=9
for($i=1;$i-le $m*$n;$i++){
$arr[$x,$y]=$i
$ax=$x+$dx[$d]
$by=$y+$dy[$d]
if (($ax -lt 0) -or ($ax -ge $m) -or ($by -lt 0 ) -or ($by -ge $n) -or ($arr[$ax,$by] -ne 0) ){
$d=($d+1) % 4
$ax=$x+$dx[$d]
$by=$y+$dy[$d]
}
$x=$ax
$y=$by
}
for($i=0;$i-lt 9;$i++){
$str=""
for($j=0;$j-lt 9 ;$j++){
$str+="{0,5}" -f $arr[$i,$j]
}
Write-Host $str
}
演示效果
PS D:\wpp> ./func.ps1
1 2 3 4 5 6 7 8 9
32 33 34 35 36 37 38 39 10
31 56 57 58 59 60 61 40 11
30 55 72 73 74 75 62 41 12
29 54 71 80 81 76 63 42 13
28 53 70 79 78 77 64 43 14
27 52 69 68 67 66 65 44 15
26 51 50 49 48 47 46 45 16
25 24 23 22 21 20 19 18 17
PS D:\wpp> |