ЗАПОЛНИТЬ КВАДРАТНУЮ МАТРИЦУ 10X10 ПОСЛЕДОВАТЕЛЬНЫМИ ЧИСЛАМИ ОТ 1 ДО 100 ПО СПИРАЛИ PHP
Для заполнения квадратной матрицы 10x10 последовательными числами от 1 до 100 по спирали в PHP мы можем использовать следующий алгоритм:
1. Создать и инициализировать массив заданного размера:
$matrix = array(); for ($i = 0; $i < 10; ++$i) { for ($j = 0; $j < 10; ++$j) { $matrix[$i][$j] = 0; } }
2. Задать начальное значение числа:
$number = 1;
3. Заполнить угловые элементы матрицы:
$matrix[0][0] = $number; ++$number; $matrix[0][9] = $number; ++$number; $matrix[9][9] = $number; ++$number; $matrix[9][0] = $number; ++$number;
4. Заполнить верхнюю горизонтальную строку:
for ($i = 1; $i < 9; ++$i) { $matrix[0][$i] = $number; ++$number; }
5. Заполнить правую вертикальную строку:
for ($i = 1; $i < 9; ++$i) { $matrix[$i][9] = $number; ++$number; }
6. Заполнить нижнюю горизонтальную строку:
for ($i = 8; $i > 0; --$i) { $matrix[9][$i] = $number; ++$number; }
7. Заполнить левую вертикальную строку:
for ($i = 8; $i > 0; --$i) { $matrix[$i][0] = $number; ++$number; }
8. Остальные элементы заполнять по спирали:
$i = 1; $j = 1; while ($number <= 100) { while ($matrix[$i][$j + 1] == 0) { $matrix[$i][$j] = $number; ++$number; ++$j; } while ($matrix[$i + 1][$j] == 0) { $matrix[$i][$j] = $number; ++$number; ++$i; } while ($matrix[$i][$j - 1] == 0) { $matrix[$i][$j] = $number; ++$number; --$j; } while ($matrix[$i - 1][$j] == 0) { $matrix[$i][$j] = $number; ++$number; --$i; } }
9. Вывести на экран:
for ($i = 0; $i < 10; ++$i) { for ($j = 0; $j < 10; ++$j) { echo $matrix[$i][$j] . " "; } echo "
"; }
Почему простые числа образуют спирали? [3Blue1Brown]
Задача из Собеседования на 160,000 Евро в Год
Как решать задачи по программированию. Пример: задача \
Разбор тестовых заданий: Заполнение матрицы спиралью - JavaScript
Матрица по спирали. Поколение Python
4.6 Заполнение спиралью 😈😈. \
Решение задачи acmp № 196 Спираль
4.6 Заполнение диагоналями🌶️. \
#33 Уроки PHP - Учим язык PHP, Обход массива циклом for и foreach на языке PHP