Задача 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 ·