Heim > Backend-Entwicklung > PHP-Tutorial > 今天遇到的一份面试题

今天遇到的一份面试题

WBOY
Freigeben: 2016-06-13 10:10:16
Original
829 Leute haben es durchsucht

今天遇到的一份面试题,求高手指教
题目要求是写一个函数,输入一个数字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 code
function 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 = '
Nach dem Login kopieren
'; foreach($ar as $v) $r .= ''; return $r.'
' . join(' ', $v) . '
'; }for($i=2;$i'; } ?>
Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage