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

Дана строка со скобками, например, такая: '((2 * 3) + 1)'. Проверьте корректность расстановки скобок: количество открывающий должно быть равно количеству закрывающих: '(2 + 3))' - некорретно, их порядок должен быть правильным: ')(2 + 3))' - некорретно.
Задача 119
Центральная цифра

Дано число с нечетным количеством цифр. Получите центральную цифру из этого числа.
Задача 120
Сменить регистр

Дана строка. Смените регистр всех букв в ней.
Задача 121
Последний сегмент пути к папке

Дан некоторый путь к папке '/aaa/bbb/ccc/'. Получите последний сегмент пути. В нашем случае это будет '/ccc/'.
Задача 122
Замена сегмента пути

Дан некоторый путь к папке '/aaa/bbb/ccc/'. Поменяйте заданный сегмент пути на новое значение. К примеру, поменяем второй сегмент пути: '/aaa/+++/ccc/'
Задача 123
Увеличение сегмента пути

Дан некоторый путь к папке, содержащий числа '/1/2/3/'. Увеличьте заданный сегмент пути на единицу. К примеру, увеличим второй сегмент пути: '/1/3/3/'
Задача 124
Получение имени файла

Дан некоторый путь, ведущий к папке '/aaa/bbb/ccc/' или к файлу '/aaa/bbb/ccc.html'. Получите из пути имя файла с его расширением, если это возможно.
Задача 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
Процесс нахождения НОД

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