Занимательные задачи PHP
338 subscribers
1 photo
15 links
Ваша цель: решить задачу максимально изящно и просто. Предлагайте свои варианты решения в комментариях. Задачи выходят по будням в 14.00.
Download Telegram
Задача 125
Язык запроса

Пусть в первом сегменте адреса задается язык пользователя: '/ru/bbb/ccc/'. Напишите программу, которая получит этот язык.
Задача 126
Сортировка по количеству

Дан массив:
[
[1, 2, 3],
[1, 2],
[1, 2, 3, 4, 5],
[1],
[1, 2, 3, 4],
]

Отсортируйте элементы массива по возрастанию количества элементов в подмассиве.
Задача 127
Сортировка по сумме

Дан массив:
[
[2, 4, 5],
[1, 2, 3],
[0, 1, 1],
[5, 7, 1],
]

Отсортируйте элементы массива по возрастанию суммы элементов подмассива.
Задача 128
Пирамидка

Выведите на экран следующую пирамидку:
x
xx
xxx
xxxx
xxxxx
Задача 129
Слияние в числа

Дан массив, подмассивы которого содержат цифры:
[
[1, 2, 3],
[4, 5, 6],
[7, 8, 9],
]

Слейте элементы этого массива в числа:
[123, 456, 789]
Задача 130
Двойная пирамидка

Выведите на экран следующую пирамидку:
xx
xxxx
xxxxxx
xxxxxxxx
xxxxxxxxxx
Задача 131
Заполнение массива до квадрата

Дан следующий массив:
$arr = [1, 2, 3, 4, 5, 6];

Дано также число:
$num = 3;

Добавьте в приведенный массив столько пустых строк, чтобы длина массива стала равна квадрату числа из переменной.
Задача 132
Пирамидка-столбец

Выведите на экран следующую пирамидку:

111
222
333
444
555
666
777
888
999
Задача 133
Число прописью

Сделайте функцию, которая будет принимать число, а возвращать это число прописью. Пусть функция работает с числами до 999.

Смотрите пример:
func(123); // выведет 'сто двадцать три'
Задача 134
Множественное число

Сделайте функцию, которая параметром будет принимать английское существительное в единственном числе и возвращать его во множественном числе.
Задача 135
Процесс умножения

Даны два числа. Выведите на экран процесс умножения этих чисел в столбик, как в школе.
Задача 136
Перемешивание слов

Дан текст со словами. Перемешайте все слова этого текста в случайном порядке.
Задача 137
Процесс нахождения НОК

Даны два числа. Выведите на экран процесс нахождения НОК, как в школе.
Задача 138
Процесс нахождения НОД

Даны два числа. Выведите на экран процесс нахождения НОД, как в школе.
Задача 139
Удаление пустых элементов массива

Удалите из массива все элементы, являющиеся пустыми строками.

Пример:
[1, '', 2, '', '', 3]
Задача 140
Удалить дубли из двухмерного массива

Дан двухмерный массив:
$users = [
[
'name' => 'john',
'surn' => 'smit',
],
[
'name' => 'john',
'surn' => 'book',
],
[
'name' => 'eric',
'surn' => 'smit',
],
];

Удалите из этого массива подмассивы-дубли,
имеющие совпадение по заданному
полю, в нашем случае, по name или surn.
Задача 141
Одинаковый набор цифр

Даны два числа. Проверьте что эти числа состоят из одинакового набора цифр. Иначе говоря, проверьте то, что перестановкой цифр одного числа можно получить другое число.
Задача 142
Знаки в дробной части

Дано число. Узнайте, сколько знаков у него в дробной части.
Задача 143
Супервложенный массив

Создайте массив следующего вида:
[ 1, [2], [[3]], [­[[4]]], [[[[5]]]] ]

Массив может быть произвольной длины.
Задача 144
Сумма кусочков строки

Дана строка с цифрами, например: '12345678'. Просуммируйте числа этой строки вот таким образом: 12+34+56+78. Строка, конечно же, может быть произвольной (но только с цифрами внутри).
Задача 145
Пути к вложенным папкам

Дана папка с файлами и подпапками, в подпапках могут быть свои подпапки и файлы и так далее. Выведите на экран пути ко всем файлам, расположенных в этих папках.