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

Дан массив, содержащий набор карточных карт. Проверьте, что все карты одной масти.
Задача 99
Минимальная карта

Дан массив, содержащий набор карточных карт. Получите минимальную карту из этого массива.
Задача 100
Слова с буквами

Дан текст. Найдите все слова, где есть заданная буква, но не стоящая в начале или в конце слова.
Задача 101
Минимальная карта для хода

Дан массив, содержащий набор карточных карт. Дана масть, которая является козырем. Дана карта, которой к вам походил противник. Получите минимальную карту из этого массива, с помощью которой можно отбить карту противника.
Задача 102
Карты по возрастанию

Дан массив, содержащий набор карточных карт. Проверьте, что в этом наборе карты идут подряд по возрастанию.
Задача 103
Получить предложения

Дан текст. Разбейте его на массив предложений.
Задача 104
Первые N слов

Дан текст. Напишите функцию, которая получит первые N слов из этого текста.
Задача 105
Первые N предложений

Дан текст. Напишите функцию, которая получит первые N предложений из этого текста.
Задача 106
Разбиение текста в многострочный

Дан текст. Разбейте этот текст в многострочный так, чтобы в каждой строке было не более 100 символов и при этом не разрывались слова и не отрывались знаки препинания.
Задача 107
Выполнить операции

Дана строка с математическими операциями, например, такая: '2 + 3 * 5'. Выполните операции и выведите результат.
Задача 108
Массив емейлов

Дан текст со словами, среди которых встречаются емейлы. Напишите скрипт, который получит массив этих емейлов.
Задача 109
Нормальная форма одночлена

Дана строка с математическими переменными и степенями, например, такая: 'a^5 * b^2 * a^7 * b^3'. Напишите программу, которая будет приводить это выражение в нормальную форму, в нашем случае вот такую: 'a^12*b^5'.
Задача 110
Минуты равны секундам

Дана строка с текстом, среди которого встречается время в формате '12:59:59'. Получите из этой строки массив, содержащий время, в котором минуты равны секундам.
Задача 111
Список дат на N дней

Дана дата в формате '31.12.2025'. Напишите скрипт, который выведет список дней от заданной даты на N дней вперед, прибавляя по одному дню.
Задача 112
Часы и минуты перевернуты

Дана строка с текстом, среди которого встречается время в формате '12:59'. Получите из этой строки массив, содержащий время, в котором часы и минуты состоят из тех же цифр, но в обратном порядке. Например, вот такое время: '12:21'.
Задача 113
Сменить формат даты в строке

Дана строка с текстом, среди которого встречаются даты в формате '2025-12-31'. Напишите скрипт, который найдет в тексте эти даты и сменит им формат на '31.12.2025'.
Задача 114
Часы и минуты одинаковые цифры

Дана строка с текстом, среди которого встречается время в формате '12:59'. Получите из этой строки массив, содержащий время, в котором часы и минуты состоят из тех же цифр. Например, мы берем и время '12:12', и время '12:21'.
Задача 115
Список дат без выходных

Дана дата в формате '31.12.2025'. Напишите скрипт, который выведет список дней от заданной даты на N дней вперед, прибавляя по одному дню, но не включая в этот список выходные дни.
Задача 116
Позиция знака препинания

Дана строка. Найдите позицию третьего знака препинания.
Задача 117
Отнимание от даты

Дана дата в формате '2025-12-31'. Отнимите от нее 3 дня и выведите ее в таком же формате.
Задача 118
Корректность скобок

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