Арифметика и формулы (O(1)) на Python: как решать + 11 задач с проверкой

Арифметика и формулы (O(1))

Это набор приёмов, когда ответ можно вычислить «в лоб» по нескольким действиям: делениям, остаткам, НОД/НОК, разностям и аккуратному учёту границ. Такие задачи часто маскируются под время (будильники, расписания), периодические события (реклама каждые a и b секунд), цены «по слоям», подсчёт кругов/шагов и балансы, где симуляция слишком медленная.

Как распознать, что нужна O(1)-формула:

Суть приёма: вместо перебора мы считаем, сколько раз событие случится по каждому правилу, и корректируем пересечения. Например, «кратно a или кратно b» считается как: n/a + n/b - n/lcm(a,b), где lcm — наименьшее общее кратное, а пересечение убираем, чтобы не посчитать дважды. Это даёт мгновенный ответ и проходит большие n.

С чего начать учиться:

Ниже — задачи с автопроверкой и разбором подхода: от простых формул до аккуратных случаев с пересечениями и большими числами.

Задачи по теме «Арифметика и формулы (O(1))»

Смежные темы

Весь каталог задач

Куда дальше