今日、面接での質問に遭遇しました。専門家のアドバイスを求めています
この質問では、関数を作成し、数値 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
-----解法---------
関数円($n) { $k = $n % 2; $ar = 配列(); 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 として $v) $r .= '<tr><td>' .join('</td><td>', $v) '</td></tr> $r を返します。'</table>'; } for($i=2;$i'; } ?> <html> ウリ { フロート: 左; 幅: 40ピクセル; 高さ: 40ピクセル; } hr{クリア:両方;} </スタイル> </head> <?php エコー $html?> </ボディ> </html> <div class="clear"></div>