您好,欢迎访问一九零五行业门户网

今天遇到的一份面试题

今天遇到的一份面试题,求高手指教
题目要求是写一个函数,输入一个数字n,然后函数就输出一个n行n列的数阵,数阵样式举例如下:
n=3
-------------------
1 2 3
8 9 4
7 6 5
n=4
-------------------
1 2 3 4
12 13 14 5
11 16 15 6
10 9 8 7
n=5
-------------------
1 2 3 4 5
16 17 18 19 6
15 24 25 20 7
14 23 22 21 8
13 12 11 10 9
嗯,大致就是这么着,绕着圈子排序
→→→→┐
┌→→┐↓
↑┌→↓↓
↑└←┘↓
└←←←┘
-------------------
有木有高手做出来? 0.0
------解决方案--------------------
php codefunction circle($n) { $k = $n % 2; $ar = array(); for($i=0; $i= $m) $ar[$y][$x--] = $p++; $x++; $y--; $m++; while($y >= $m) $ar[$y--][$x] = $p++; $n--; } if($k) $ar[$y+1][$x+1] = $p; $r = '
'; foreach($ar as $v) $r .= '' . join(' ', $v) . '
'; return $r.'
'; }for($i=2;$i'; } ?>
其它类似信息

推荐信息