gpt4 book ai didi

php - php中的矩阵排列问题

转载 作者:可可西里 更新时间:2023-10-31 22:42:58 24 4
gpt4 key购买 nike

我想知道一些解决此类问题的方法。

给定一个数字,比如说 16,你必须这样安排一个矩阵

1  2  3  4
12 13 14 5
11 16 15 6
10 9 8 7

语言无关紧要,(最好是 PHP);

最佳答案

[编辑:更新] 如果语言无关紧要:

转到:http://rosettacode.org/wiki/Spiral_matrix


在 PHP 中:

给你:

<?php
function getSpiralArray($n)
{
$pos = 0;
$count = $n;
$value = -$n;
$sum = -1;

do
{
$value = -1 * $value / $n;
for ($i = 0; $i < $count; $i++)
{
$sum += $value;
$result[$sum / $n][$sum % $n] = $pos++;
}
$value *= $n;
$count--;
for ($i = 0; $i < $count; $i++)
{
$sum += $value;
$result[$sum / $n][$sum % $n] = $pos++;
}
} while ($count > 0);

return $result;
}

function PrintArray($array)
{
for ($i = 0; $i < count($array); $i++) {
for ($j = 0; $j < count($array); $j++) {
echo str_pad($array[$i][$j],3,' ');
}
echo '<br/>';
}
}

$arr = getSpiralArray(4);
echo '<pre>';
PrintArray($arr);
echo '</pre>';
?>

关于php - php中的矩阵排列问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3584557/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com