Информатика

2 621 задачавместе с подтемами
Число у задачи — рейтинг сложности, слово рядом — насколько она трудна по сравнению с другими задачами такого же типа. Шкалы задач с ответом и задач с кодом между собой не сравниваются. Рядом — счётчики попыток: успешные, неуспешные.
(Демо-2026) Назовём маской числа последовательность цифр, в которой также могут
встречаться следующие символы:
– символ «?» означает ровно одну произвольную цифру;
– символ «*» означает любую последовательность цифр произвольной длины; в том числе «*» может задавать и пустую последовательность.
Например, маске 123*4?5 соответствуют числа 123405 и 12300405. Среди натуральных чисел, не превышающих 1010, найдите все числа, соответствующие маске 3?12?14*5, делящиеся на 1917 без остатка. В ответе запишите в первом столбце таблицы все найденные числа в порядке возрастания, а во втором столбце – соответствующие им результаты деления этих чисел на 1917.

На орбитальной станции «Галактика-7» завершился ежегодный технический осмотр космических кораблей. По его результатам каждый корабль получил:

  • Оценки трёх бортовых систем: двигательной, навигационной и системы жизнеобеспечения (по шкале от 2 до 5, где 2 — критическая неисправность, 5 — отличное состояние)
  • Статус лицензии пилота: действующая или просроченная

Корабль допускается к полётам, если выполнены оба условия:

  1. Все три бортовые системы имеют оценку 3 или выше
  2. Лицензия пилота действующая

Корабль не допущен к полётам, если хотя бы одно из условий не выполнено.

Руководство станции решило предоставить возможность экстренного ремонта одной системы одному из кораблей. Корабль может претендовать на ремонт, если:

  1. Лицензия пилота действующая
  2. Ровно одна система имеет критическую неисправность (оценка 2), а две другие системы исправны (оценка 3 или выше)

Если таких кораблей несколько, выбирается тот, у которого наибольшая сумма оценок всех трёх систем (такой корабль ближе всего к допуску).

Гарантируется, что ровно один корабль удовлетворяет всем критериям отбора.
 

Формат входных данных

В первой строке находится число N — количество кораблей (1 ≤ N ≤ 1000).

Каждая из следующих N строк содержит пять целых чисел через пробел:

  • ID — бортовой номер корабля (натуральное число, не превышающее 108)
  • S1, S2, S3 — оценки трёх бортовых систем (каждая от 2 до 5)
  • L — статус лицензии пилота (1 — действующая, 0 — просроченная)
 

Формат выходных данных

Выведите два числа через пробел:

  1. Количество кораблей, не допущенных к полётам
  2. Бортовой номер корабля, который получит возможность экстренного ремонта
Создадим эффект старой 8-битной графики! Разделим фото на блоки k×k и каждый блок заменим на один пиксель со средней яркостью. Программа получает на вход размеры фото n и m (оба делятся на k нацело), затем n строк по m чисел - пиксели, затем размер блока k. Программа должна вывести "пикселизированное" изображение: (n/k) строк по (m/k) чисел. Каждое число - это среднее арифметическое блока k×k из исходного изображения, округлённое вниз.
Напишите программу, которая в последовательности натуральных чисел находит максимальное число среди двузначных чисел, кратных 17, или сообщает, что таких чисел нет. На вход программы подаются целые числа, количество введённых чисел неизвестно, последовательность заканчивается числом 0 (0 -  признак окончания ввода, не является членом последовательности).

Количество чисел не превышает 100. Введённые числа не превышают 300.

Программа должна вывести максимальное число среди двузначных чисел, кратных 17, или вывести NO, если таких чисел в последовательности нет.
 

Макс покупает скины в Roblox и записывает цену каждой покупки в робуксах. Ему нужно узнать, сколько раз он потратил больше 100 робуксов за одну покупку (дорогие покупки).​
Напишите программу, которая запрашивает у пользователя информацию (см. входные данные) и выводит ответ

Входные данные:

  • Первая строка: N — количество покупок (N <= 20)

  • Следующие N строк: по одному числу от 10 до 500 — цена покупки в робуксах

Выходные данные: количество покупок дороже 100 робуксов

Вы работаете с простым датасетом, где нужно предсказать класс (0 или 1) по одному признаку. Например, предсказываем, болен ли человек (1) или здоров (0) по температуре тела.

У вас есть:

  • Массив признаков X (например, температуры)

  • Массив правильных ответов y (0 или 1)

Вам нужно найти лучшие значения коэффициента w и свободного члена b методом полного перебора, чтобы минимизировать log-loss.

Алгоритм

  1. Переберите все возможные значения w от -2 до 2 с шагом 0.1
  2. Переберите все возможные значения b от -10 до 10 с шагом 0.5
  3. Для каждой пары (wb):
    • Посчитайте линейную комбинацию: z=w⋅X+b
    • Примените сигмоиду: p=σ(z)
    • Посчитайте log-loss
  4. Выберите пару (wb) с минимальным log-loss

Важные детали

  • Используйте функцию сигмоиды
  • Для расчёта log-loss используйте формулу:
    • \(\text{Log-Loss} = -\frac{1}{n}\sum_{i=1}^{n} \left(y_i \cdot \log(p_i) + (1 - y_i) \cdot \log(1 - p_i)\right)\)
  • Чтобы избежать ошибок с логарифмом нуля, ограничьте вероятности: p = np.clip(p, 1e-15, 1 - 1e-15)
  • Bспользуйте np.arrange() для работы с вещественным шагом, вместо range()


Формат входных данных

На вход подаётся:

  • в первой строке признаки (например, температуры): вещественные числа, разделенные одним пробелом
  • во второй строке правильные классы для каждого признака соответственно  (0 или 1).


 Формат выходных данных

Выведите три числа, каждое в отдельной строке:

  1. best_w — лучшее значение коэффициента (float, с точностью до сотых)

  2. best_b — лучшее значение свободного члена (float, с точностью до сотых)

  3. min_loss — минимальное значение log-loss (float, с точностью 4 знака после запятой)

Запросите с клавиатуры 2 натуральных числа a и b (числа не больше 100). 
Каждое число вводится в отдельной строке.

Выведите все числа от a до b включительно. Если число нечётное (не кратно двум), выведите через пробел после него слово "Прыжок!". В конце выведите "Разминка окончена!"
Запросите с клавиатуры 2 натуральных числа a и b (числа не больше 100). 
Каждое число вводится в отдельной строке.

Выведите все числа от a до b включительно. Если число чётное (кратно двум), выведите через пробел после него слово "Красный!". В конце выведите "Поехали!"
Запросите с клавиатуры 2 натуральных числа a и b (числа не больше 100). 
Каждое число вводится в отдельной строке.

Выведите все числа от a до b включительно. Если число кратно трем, выведите через пробел после него слово "Браво!". В конце выведите "Аплодисменты!"
1#68061
Составьте программу, которая проверяет, является ли сумма трех введенных чисел кратной 10. Программа должна выводить 1, если сумма кратна 10, и 0 в противном случае.

С клавиатуры вводится три числа, каждое в отдельной строке: в первой строке вводится число a, во второй - b, в третьей - c.
⏰ Починка машины времени:
[█████████████████░░░] 86% - Модуль 6 из 7 восстановлен
✅ Центральный процессор: СИНХРОНИЗИРОВАН
⚠️ Последний модуль критически важен!

Все модули восстановлены, но машина времени не запускается! Нужен специальный цифровой код синхронизации, который генерируется по древнему алгоритму Хроноса. Этот код создает резонанс между временными потоками! 

Цифровой код состоит из последовательности чисел, которая генерируется по алгоритму, описанному в дневнике Хроноса: 
  • Код начинается с числа, которое отображается на экране.
  • Далее временной поток раздваивается и ускоряется: если предыдущее число было четным, то к нему прибавляется 3 (+3), нечетное число создает квантовый скачок и оно удваивается  (х2).
  • Когда энергия превысит 100 единиц — цифровой код готов!

Напиши программу-генератор кода активации для запуска машины времени. Программа должна считать число и вывести полный цифровой код в одну строку, где каждое число кода разделяется от другого одним пробелом.


 
⏰ Починка машины времени:
[██████████████░░░░░░] 71% - Модуль 5 из 7 восстановлен
✅ Генератор порталов: КАЛИБРУЕТСЯ
⚡ Энергия растет!

Профессор Хронос обнаружил странные сигналы!
Кто-то уже путешествовал во времени и оставил временные маячки — метки в разных эпохах.

Каждый маячок имеет координату относительно 2025 года:
  • Отрицательное число = маячок в прошлом (например, -50 означает 1975 год)
  • Положительное число = маячок в будущем (например, +30 означает 2055 год)
  • Ноль = сигнал остановки сканирования
Машина времени должна уметь сканировать временную линию и обнаруживать маячки. Необходимо написать программу для анализа найденных маячков и загрузить ее в машину времени.

Что должна делать программа:
  1. Считывать координаты маячков (числа), пока не получит сигнал стоп (число ноль)
  2. Подсчитать:
    • Сколько маячков в прошлом (отрицательные координаты)
    • Сколько маячков в будущем (положительные координаты)
    • Самый древний маячок (наименьшая координата)
  3. Вывести отчет о сканировании (смотри пример)

 

💡 Подсказка:
- Текущий год = 2025 (точка отсчета)
- Если координата = -20, это 2025 - 20 = 2005 год
- Если координата = +15, это 2025 + 15 = 2040 год
- Чем меньше число, тем дальше в прошлое!
Алиса только что завершила подсчет уникальных слов в файле. Вдруг экран её компьютера ярко засветился, и на нем появилась новая информация:

"Система обновлена! Новый файл доступен: Число.txt."
P.S. Число в названии файла равно числу, полученному в ответе на предыдущюю задачу. Например, если ответ был 123, то доступен файл 123.txt

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

"В файле слов, как в море, не счесть,
Найди, какое из них чаще здесь есть!"


Алиса быстро принялась за дело! И ты не отставай... Найди ответ

P.S. Ваша программа должны вывести самое частое слово и через пробел сколько раз оно встречается. Вам может помочь в этом структура данных "словарь". Вспомните как с ней работать тут

Петя открыл цветочный магазин. Магазин Пети занимается изготовлением и продажей букетов. Всего существует \(n\) видов цветов, занумерованных от 1 до \(n\). Каждый букет, чтобы быть гармоничным и красивым, должен состоять из цветов всех видов, по одной штуке каждого вида. В магазине уже есть \(a_i\) штук цветов вида \(i\). На цветочной базе можно купить цветок любого вида за 1 рубль.

Определите, сколько букетов сможет собрать Петя, если потратит не более \(x\) рублей на покупку цветов на базе. Ответьте на \(q\) запросов с различными \(x_i\).

Формат входных данных
В первой строке входных данных находятся два целых числа \(n\) и \(q\) (\(1 \le n, q \le 10^5\)) — количество различных типов цветов и количество запросов.

Во второй строке находятся \(n\) целых чисел \(a_1, a_2, \cdots, a_n\) (\(0 \le a_i \le 10^9\)) — количество цветов каждого вида, имеющихся в магазине.

В третьей строке находятся \(q\) целых чисел \(x_1, x_2, \cdots, x_q\) (\(0 \le x_i \le 10^9\)) — запросы Пети.

Формат выходных данных
Выходной файл должен содержать \(q\) чисел, где \(i\)-е число это максимальное количество букетов, которое можно собрать потратив не более \(x_i\) рублей.


Примечание
В первом примере у Пети изначально есть 1 цветок первого типа и 0 цветов второго типа.

В первом запросе у него есть 1 рубль, он покупает цветок второго типа и делает 1 букет.

Во втором запросе у него есть 2 рубля, он не может сделать два букета за 2 рубля, поэтому ответ по прежнему 1.

В третьем запросе у него есть 5 рублей, он покупает 2 цветка первого типа и 3 цветка второго типа и делает 3 букета.

Коля любит рисовать картинки из звездочек. Сегодня он решил вывести \(n\) строк, \(k\)-я из которых должна содержать \(k^2\) звездочек.

Но потом Коля понял, что выводить слишком много звездочек плохо. Поэтому он решил, что если в очередной строке надо вывести больше \(100\) звездочек, то он выведет в этой строке только \(100\) звездочек, а затем выведет три точки.

Помогите Коле реализовать его план.

Формат входных данных
На вход подается одно целое число \(n\) (\(1 \le n \le 100\)).

Формат выходных данных
Выведите \(n\) строк в соответствии с планом Коли. Не выводите пробелы.

 

Влад наконец-то достиг позиции тимлида в команде, но теперь у него совсем нет времени на дорогу домой, и ему придется спать в офисе. К сожалению, не все IT-компании могут позволить себе просторный и удобный коворкинг, в котором можно подремать, поэтому Влад будет спать на офисных стульях.

В офисе есть \(n\) стульев, \(i\)-й из которых имеет высоту \(h_i\) и ширину \(w_i\). Влад планирует выбрать любой набор офисных стульев \([i_1, i_2, \ldots, i_k]\) и расположить в ряд, чтобы на них можно было лечь. Рост Влада равен \(H\), поэтому, чтобы он мог удобно лежать, необходимо, чтобы суммарная ширина выбранных стульев была не меньше \(H\), то есть \[\sum\limits_{j=1}^k w_{i_j} \ge H \text{.}\]

Очевидно, что спать на стульях разной высоты неудобно. Назовем неудобностью выбранного набора максимальную разность высот двух соседних стульев в ряду, то есть \(\max\limits_{j=2}^k |h_{i_j} - h_{i_{j-1}}|\). Если набор состоит из одного стула, его неудобность равна \(0\).

Помогите Владу выбрать набор стульев так, чтобы на ряду из них можно было лежать, а неудобность этого ряда была как можно меньше.

Формат входных данных
В первой строке ввода через пробел даны два целых числа \(n\) и \(H\) — количество стульев и рост Влада (\(1 \le n \le 2 \cdot 10^5\); \(1 \le H \le 10^9\)).

Во второй строке ввода через пробел перечислены \(n\) целых чисел \(h_i\) — высоты стульев (\(1 \le h_i \le 10^9\)). В третьей строке в том же формате перечислены \(n\) целых чисел \(w_i\), равных ширине стульев (\(1 \le w_i \le 10^9\)).

Гарантируется, что \(H\) не превосходит суммы всех \(w_i\).

Формат выходных данных
Выведите единственное число — минимальное возможное неудобство среди всех подходящих наборов.


Замечание

В первом примере нужно выставить стулья \(2\) и \(4\) в любом порядке.

Во втором примере можно выбрать, например, следующие наборы: \([1, 5]\), \([2, 4, 3]\). Обратите внимание, что порядок стульев в наборе важен: неудобность набора \([2, 3, 4]\) равна \(\max(|5 - 3|, |4 - 5|) = \max(2, 1) = 2\), что больше, чем для набора \([2, 4, 3]\).

Дана строка s  Определите длину самой длинной подцепочки, состоящей из одинаковых символов. В ответе укажите сначала символ, из которого строится данная подцепочка, затем, слитно без разделителей, длину данной подцепочки. Если таких подцепочек несколько, то укажите ту, в которой буква стоит раньше в алфавите.

Формат входных данных
Программа получает на вход строку (10 <= s <= 106). Строка состоит из символов английского алфавита, записанных в верхнем регистре (от A до Z).

Формат выходных данных
Выведите ответ на задачу.
Медведь Василий собирает ягоды. Он будет счастлив, если ягод малины в его корзинке окажется не менее трети от общего числа ягод. Медведь Василий уже собрал N ягод, из них K штук малины. Василий уже изрядно устал собирать ягоды, поэтому помогите ему понять, какое минимальное число ягод малины ему необходимо собрать, чтобы быть счастливым. 


Входные данные
Программа получает на вход два целых числа N и K (N > 0, 0 ≤ K ≤ N, K<=109, N<=2*109), записанные в отдельных строках, — текущее количество ягод в корзинке медведя Василия и количество ягод малины в корзинке.

Выходные данные
Выведите единственное число — минимальное число ягод малины, которое необходимо собрать.

 
Примеры
Входные данные Выходные данные Примечание
1 27
7
3 В примере всего ягод в корзинке 27, из которых малины 7 ягод.
Если в собрать ещё 3 ягоды малины, то в корзинке станет 30 ягод, из которых малины будет 10.

 

В далеком царстве жил могущественный маг по имени Эльдрик, который был помешан на шахматах. В башне Эльдрика была волшебная шахматная доска, о которой говорили, что она предсказывает будущее королевства. Но был казус. Шахматные фигуры двигались только по белым клеткам, а черные клетки хранили секреты прошлого.

Однажды молодой оруженосец по имени Леон решил узнать все секреты прошлого  и пошел к башне.  Маг Эльдриг дал оруженосцу пергамент, на котором были написаны координаты одной клетки шахматной доски. Эльдриг сказал, что если он сумеет не глядя на доску определить какой цвет у данной клетки шахматной доски, то ему откроются все секреты прошлого!

Леон не был так помешан на шахматах, но все же смог определить цвет клетки правильно! Сможете ли это сделать и вы? 

Шахматная доска выглядит таким образом


Формат входных данных
Программа получает на вход одну строку, в которой записана координата шахматной клетки.
 

Ограничения

  • длина строки == 2
  • 'a' <= первый символ строки <= 'h'
  • '1' <= второй символ строки <= '8'

Формат выходных данных
Выведите слово white, если клетка белого цвета и black - если черного.
Напишите программу, которая переводит число N из системы счисления с основанием r в десятичную систему счисления.

Входные данные
Программа получает на вход два натуральных числа: и r (2 <= r <= 9). Гарантируется, что число N является правильной записью числа в системе счисления c основанием r (то есть содержит цифры от 0 до r-1).

Выходные данные
Выведите на экран число в десятичной системе счисления.
 
Примеры
Входные данные Выходные данные
1 100 2 4
Поделиться
Класснуть