Русский
Открыть в Telegram
ЗЗанимательные задачи PHP

Занимательные задачи PHP

@php_tricker · канал · Технологии · в индексе с 2026-08-15
354подписчиков
232постов в индексе
Т
Задача 200 Сборка счастливого билета Дан массив из шести цифр. Проверьте, можно ли собрать из этих цифр счастливый билет.
185 ·
Т
Задача 201 Добавление ряда и колонки в матрицу Дан произвольный двухмерный массив: [ [11, 12, 13], [21, 22, 23], [31, 32, 33], ] Напишите код, который добавит в него еще один ряд и еще один столбец, заполненные случайными значениями: [ [11, 12, 13, 14], [21, 22, 23, 24], [31, 32, 33, 34], [41, 42, 43, 44], ]
184 ·
Т
Задача 202 Обнуление столбца Дан произвольный двухмерный массив: [ [11, 12, 13, 14, 15], [21, 22, 23, 24, 25], [31, 32, 33, 34, 35], [41, 42, 43, 44, 45], [51, 52, 53, 54, 55], ] Напишите код, который будет обнулять заданный столбец: [ [11, 12, 0, 14, 15], [21, 22, 0, 24, 25], [31, 32, 0, 34, 35], [41, 42, 0, 44, 45], [51, 52, 0, 54, 55], ]
198 ·
Т
Задача 203 Столбец матрицы Дан произвольный двухмерный массив: [ [11, 12, 13, 14, 15], [21, 22, 23, 24, 25], [31, 32, 33, 34, 35], [41, 42, 43, 44, 45], [51, 52, 53, 54, 55], ] Напишите код, который получит массив значений заданного столбца: [ 13, 23, 33, 43, 54 ]
188 ·
Т
Задача 204 Получение заданного элемента Дан многомерный массив произвольного уровня вложенности: [ 'a' => [ 'b' => [ 'c' => '+++' ] ], ] Сделайте функцию, которая будет возвращать элементы массива, параметром получая строку с ключами массива, разделенными точками: func('a.b.c'); // вернет '+++'
181 ·
Т
Задача 205 Транспонирование матрицы Дан произвольный двухмерный массив: [ [11, 12, 13, 14, 15], [21, 22, 23, 24, 25], [31, 32, 33, 34, 35], [41, 42, 43, 44, 45], [51, 52, 53, 54, 55], ] Выполните его транспонирование: [ [11, 21, 31, 41, 51], [12, 22, 32, 42, 52], [13, 23, 33, 43, 53], [14, 24, 34, 44, 54], [15, 25, 35, 45, 55], ]
193 ·
Т
Задача 206 Конверсия времени Дана переменная, содержащая некоторое количество секунд. Получите сколько дней, часов, минут и секунд содержится в этой переменной. Имеется ввиду, что сначала нужно выделить целое количество дней, из остатка выделить целое количество часов, из остатка выделить целое минут, а затем останется количество секунд. Результат представьте в виде ассоциативного массива.
197 ·
Т
Задача 207 Сжатие смежных чисел Дан массив чисел. Замените все последовательности смежных одинаковых чисел на их количество и значение. Пример: [1, 1, 1, 2, 3, 3, 4, 4, 4, 4] → [[3, 1], [1, 2], [2, 3], [4, 4]]
181 ·
Т
Задача 208 Валидация математического выражения Дана строка с математическим выражением, содержащим числа, операторы +-*/ и скобки. Проверьте корректность расстановки операторов: - два оператора не могут стоять подряд - после открывающей скобки не может быть оператора (кроме унарного минуса) - перед закрывающей скобкой не может быть оператора - выражение должно начинаться и заканчиваться числом или скобкой Пример: "2*(3+4)-5/2" → true "2*+3" → false
180 ·
Т
Задача 209 Генерация всех подмассивов с условием Дан массив чисел. Сгенерируйте все возможные подмассивы, сумма элементов которых не превышает заданное число N. Выведите их в порядке увеличения длины. Пример: массив: [1, 2, 3], N: 4 результат: [[1], [2], [3], [1,2], [1,3]] (подмассив [2,3] не выводится, так как сумма 5 > 4)
194 ·
Т
Задача 210 Проверка периодичности последовательности Дана последовательность чисел. Определите, является ли она периодической (повторяется ли некий паттерн целиком от начала до конца последовательности). Если да, найдите длину наименьшего периода. Примеры: [1, 2, 1, 2, 1, 2] → true, период 2 (паттерн [1, 2]) [1, 2, 3, 1, 2, 3, 1] → true, период 3 (паттерн [1, 2, 3]) [1, 2, 3, 1, 2, 4] → false (нет полного повторения паттерна)
179 ·
Т
Задача 211 Определение типа последовательности Дан массив чисел. Определите, является ли последовательность: 1) Арифметической прогрессией (постоянная разность между элементами) 2) Геометрической прогрессией (постоянное отношение между элементами) 3) Ни тем, ни другим Верните строку: "арифметическая", "геометрическая" или "нет прогрессии". Примеры: [1, 3, 5, 7, 9] → "арифметическая" (разность 2) [2, 4, 8, 16, 32] → "геометрическая" (отношение 2) [1, 2, 3, 5, 8] → "нет прогрессии" [5, 5, 5, 5, 5] → "арифметическая" (разность 0) и "геометрическая" (отношение 1) Примечание: если массив подходит под оба типа, верните "арифметическая" (приоритет у арифметической прогрессии).
181 ·
Т
Задача 212 Перестановка максимального и минимального элементов Дан массив чисел. Найдите в массиве максимальный и минимальный элементы и поменяйте их местами. Если максимальных или минимальных элементов несколько, поменяйте местами первые из найденных. Примеры: [3, 7, 2, 8, 5] → [3, 7, 8, 2, 5] (2 и 8 поменялись) [1, 1, 4, 4, 2] → [4, 1, 4, 1, 2] (первая 1 и первая 4 поменялись) [5, 5, 5, 5] → [5, 5, 5, 5] (массив не изменился)
199 ·
Т
Задача 213 Сумма цифр числа до однозначного Дано целое положительное число. Найдите сумму его цифр. Если полученная сумма больше 9, повторяйте процесс, пока не получите однозначное число (цифру от 1 до 9). Примеры: 123 → 1+2+3 = 6 → 6 987 → 9+8+7 = 24 → 2+4 = 6 → 6 999 → 9+9+9 = 27 → 2+7 = 9 → 9 38 → 3+8 = 11 → 1+1 = 2 → 2 Этот процесс иногда называют "цифровым корнем" числа.
167 ·
Т
Задача 214 Чередование четных и нечетных Дан массив чисел. Проверьте, чередуются ли в нем четные и нечетные числа. Массив считается "чередующимся", если каждый следующий элемент имеет противоположную четность предыдущему. Примеры: [1, 2, 3, 4, 5] → true (нечетное, четное, нечетное, четное, нечетное) [2, 4, 6, 8] → false (все четные) [1, 3, 2, 4, 7] → false (1→3: оба нечетные) [10, 5, 8, 3, 2] → true (четное, нечетное, четное, нечетное, четное) [] → true (пустой массив считается чередующимся) [7] → true (один элемент всегда чередуется)
163 ·
Т
Задача 215 Суммирование чисел из файлов Дана папка с текстовыми файлами. В каждом файле находятся целые числа, разделенные пробелами и переносами строк. Напишите скрипт, который: 1. Прочитает все файлы с расширением .txt в папке 2. Найдет сумму всех чисел из всех файлов 3. Запишет результат в новый файл result.txt Пример структуры: file1.txt: "10 20 30" file2.txt: "5 15 25" file3.txt: "100 200" Результат: 10+20+30+5+15+25+100+200 = 405 Файл result.txt: "405" Примечание: обрабатывайте только файлы с расширением .txt
180 ·
Т
Задача 216 Поиск самого большого файла Дана папка с файлами различных типов. Напишите скрипт, который: 1. Найдет самый большой файл в папке по размеру (в байтах) 2. Выведет информацию о нем: имя файла, размер в КБ, расширение 3. Создаст файл largest_file.txt и запишет туда эту информацию Формат вывода в файл: "Самый большой файл: имя_файла.расширение Размер: 1234.56 КБ" Если несколько файлов имеют одинаковый максимальный размер, выберите первый найденный. Примечание: не рассматривайте подпапки, только файлы в текущей папке.
176 ·
Т
Задача 217 Подсчет файлов по типам в дереве папок Дана корневая папка с вложенными подпапками. Напишите скрипт, который: 1. Рекурсивно обойдет все подпапки 2. Подсчитает количество файлов по расширениям 3. Запишет результат в файл file_stats.txt Пример: Если в папках есть файлы: a.txt, b.txt, c.jpg, d.pdf, e.txt Результат: .txt: 3 файла .jpg: 1 файл .pdf: 1 файл Всего файлов: 5 Примечание: файлы без расширения не учитывать.
174 ·
Т
Задача 218 Поиск дубликатов файлов Дана корневая папка с вложенными подпапками. Напишите скрипт, который: 1. Рекурсивно обойдет все файлы 2. Найдет файлы-дубликаты (файлы с одинаковым содержимым) 3. Запишет результат в файл duplicates.txt Формат вывода в файл: "Группа дубликатов 1: - /путь/к/файлу1.txt - /путь/к/файлу2.txt Группа дубликатов 2: - /путь/к/image1.jpg - /путь/к/image2.jpg - /путь/к/image3.jpg" Дубликаты определять по хешу содержимого файла (например, MD5). Файлы с одинаковым хешем считаются дубликатами. Примечание: не выводить группы из одного файла.
173 ·
Т
Задача 219 Архивация старых файлов Дана корневая папка с вложенными подпапками. Напишите скрипт, который: 1. Найдет все файлы, которые не изменялись более 30 дней 2. Создаст папку "archive" в корневой папке 3. Переместит старые файлы в папку "archive", сохраняя структуру подпапок 4. Запишет отчет в файл archiving_report.txt Формат отчета: "Архивировано файлов: 8 Освобождено места: 4.2 МБ Архивированные файлы: - old_report.pdf (из /docs/) - backup.zip (из /backups/) - photo1.jpg (из /images/vacation/)" Структура подпапок в папке "archive" должна повторять исходную структуру. Примечание: файлы должны физически перемещаться, а не копироваться.
187 ·
Т
Задача 220 Нахождение самой длинной последовательности одинаковых символов Дана строка. Найдите самую длинную последовательность одинаковых символов, идущих подряд, и верните ассоциативный массив ['char' => символ, 'length' => длина]. Примеры: "aaabbccccd" → ['char' => "c", 'length' => 4] "пррриивет" → ['char' => "р", 'length' => 3] "abcde" → ['char' => "a", 'length' => 1] (любой из символов) "" → ['char' => "", 'length' => 0] Если несколько последовательностей имеют одинаковую максимальную длину, верните информацию о первой из них. Примечание: учитывайте все символы, включая пробелы.
205 ·
Т
Задача 221 Сумма цифр четных чисел в строке Дана строка, содержащая слова и числа. Найдите все четные целые числа в строке и вычислите сумму их цифр. Примеры: "У меня есть 24 яблока и 36 груш" → 24 (четное) → сумма цифр: 2+4=6 36 (четное) → сумма цифр: 3+6=9 Общий результат: 6+9 = 15 "Цена: 125 рублей, скидка 50%" → 50 (четное) → сумма цифр: 5+0=5 Результат: 5 "Нечетные числа: 11, 33, 55" → нет четных чисел → результат: 0 Примечание: числа могут быть многозначными, но без десятичной точки. Игнорировать отрицательные числа.
248 ·
Т
Задача 222 Сколько раз число встречается в своем квадрате Дано целое положительное число. Посчитайте, сколько раз цифры этого числа встречаются в цифрах его квадрата. Примеры: 5 → квадрат 25 → цифры числа: 5, цифры квадрата: 2,5 Цифра 5 встречается 1 раз → результат: 1 12 → квадрат 144 → цифры числа: 1,2, цифры квадрата: 1,4,4 Цифра 1 встречается 1 раз, цифра 2 встречается 0 раз Сумма: 1+0 = 1 → результат: 1 13 → квадрат 169 → цифры: 1,3 и 1,6,9 Цифра 1 встречается 1 раз, цифра 3 встречается 0 раз Сумма: 1+0 = 1 → результат: 1 101 → квадрат 10201 → цифры: 1,0,1 и 1,0,2,0,1 Цифра 1 встречается 2 раза, цифра 0 встречается 2 раза, цифра 1 встречается 2 раза Сумма: 2+2+2 = 6 → результат: 6 Примечание: каждая цифра исходного числа учитывается отдельно. Если цифра повторяется в исходном числе, она учитывается столько раз, сколько встречается.
334 ·
Т
Задача 223 Чередование гласных и согласных Дано слово (строка на русском языке). Проверьте, чередуются ли в нем гласные и согласные буквы. Игнорируйте регистр букв. Гласные буквы русского алфавита: а, е, ё, и, о, у, ы, э, ю, я Остальные буквы считаются согласными (включая мягкий и твердый знаки). Примеры: "мама" → м(с), а(г), м(с), а(г) → true (чередуются) "папа" → п(с), а(г), п(с), а(г) → true (чередуются) "око" → о(г), к(с), о(г) → true (чередуются) "дом" → д(с), о(г), м(с) → true (чередуются) "кот" → к(с), о(г), т(с) → true (чередуются) "машина" → м(с), а(г), ш(с), и(г), н(с), а(г) → true (чередуются) "анна" → а(г), н(с), н(с), а(г) → false (две согласные подряд) "аист" → а(г), и(г), с(с), т(с) → false (две гласные подряд) Слово из одной буквы всегда удовлетворяет условию. Пустая строка возвращает true.
474 ·
Т
Ссылка
нажмите — покажем
НОВИНКА Канал по математике от Трепачёва:) В этом канале я буду постить сложные математические задачи, интересные факты, статьи по истории математики, Программистам также будет полезно! Заходите: Канал https://t.me/trepachev_math
1 · 302 ·

Открытая публичная лента из поискового индекса ChatCrawler — «Google по публичному Telegram»; обновляется по мере обхода площадки. Время — UTC.

Только публичный контент, официальный API Telegram. О проекте · Вопросы · Границы индекса · Убрать страницу из выдачи · Каталог · Поиск · Как мы считаем