2026/27, 7Б, Python: Условная инструкция

A: Считалка

Три ребёнка выбирают водящего при помощи считалки. Определите, на ком из них закончится считалка, если в считалке \(n\) слов.

В первых трёх строках записаны имена трёх школьников, а затем записано целое положительное число \(n\). Программа должна вывести одно из этих трёх имён, в зависимости от значения \(n\).

Эту задачу желательно решить с использованием инструкций if... elif... else.

Примечания

Эту задачу желательно решить с использованием инструкций if... elif... else.

Пример

ВводВывод
Alice
Bob
Charly
5
Bob

B: Точный квадрат

Дано целое неотрицательное число. Если оно является квадратом целого числа, выведите YES, иначе выведите NO.

Указание. Извлеките корень из этого числа (возведя число в степень 0.5). Приведите результат к типу int, возведите в квадрат и сравните с данным числом.

Примеры

ВводВывод
4
YES
3
NO

C: Существует ли треугольник?

Даны три натуральных числа a, b, c. Определите, существует ли треугольник с такими сторонами. Если треугольник существует, выведите строку YES, иначе выведите строку NO.

Треугольник — не должен быть вырожденным, то есть вершины треугольника не лежат на одной прямой.

Примеры

ВводВывод
3
4
5
YES
5
3
2
NO

D: Максимум трех чисел

Даны три целых числа. Найдите наибольшее из них (программа должна вывести ровно одно целое число).

Какое наименьшее число сравнений (>, <, >=, <=) нужно выполнить, для нахождения наибольшего из трех чисел? Решите задачу с использованием минимального числа сравнений.

Пример

ВводВывод
10
5
10
10

E: Колонизаторы

В игру «Колонизаторы» могут играть 3 или 4 человека. \(n\) человек собрались вместе и все хотят играть в «Колонизаторов». Какое минимальное число коробок с игрой им нужно для этого?

Программа получает на вход число \(n\) и должна вывести минимальное число групп по 3 или 4 человека, на которые могут разбиться \(n\) человек. Если не существует способа \(n\) людям разбиться на группы по 3 или 4 человека, нужно вывести число \(-1\).

Примеры

ВводВывод
9
3
10
3

F: Рабочие дни

Первое число месяца приходится на понедельник. Учреждение не работает по воскресеньям, а также либо в субботу перед эти воскресеньем, либо в понедельник после него, попеременно. На первой неделе суббота рабочая, на второй — выходная, затем опять рабочая и выходная и т.д. То есть выходными днями будет 7, 8, 13, 14 число, далее 21, 22, 27, 28. С начала месяца прошло \(n\) дней, число \(n\) может быть большим. Определите количество рабочих дней среди них.

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

Примеры

ВводВывод
7
6
31
23

G: Минимальное число монет

Есть неограниченное число монет номиналом в 1, 2, 5, 10 рублей. Нужно выдать сумму в \(n\) рублей. При помощи какого минимального числа монет это можно сделать?

Программа получает на вход число \(n\) и должна вывести минимальное число монет.

Примеры

ВводВывод
12
2
107
12

H: Мультсериалы

На одном телеканале постоянно показывают мультсериалы. Каждая серия продолжается \(a\) минут. В начале каждого часа начинается серия, которая продолжается \(a\) минут, затем \(a\) минут продолжается следующая серия, и т.д.

На другом телеканале точно так же показывают мультериал, каждая серия которого продолжается \(b\) минут.

Мультослав включил телевизор, когда от начала часа прошло \(t\) минут. Он посмотрел, какие серии идут по каждому из двух телеканалов, и хочет выбрать один из двух каналов так, чтобы остаток серии, которую показывают по этому каналу, продолжался как можно дольше.

Программа получает на вход числа \(a\), \(b\), \(t\) и должна вывести время, в течение которого Мультослав будет смотреть телевизор (остаток одной из двух показываемых серий).

Примечания

В первом примере в момент \(t=15\) по первому каналу идёт серия с 14 до 21 и Мультослав сможет смотреть остаток этой серии в течение 6 минут. По второму каналу идёт серия с 10 до 20 и от этой серии осталось 5 минут.

Во втором примере в момент включения телевизора начали новые серии по каждому из каналов, поэтому Мультослав выберет серию продолжительностью 20 минут.

Примеры

ВводВывод
7
10
15
6
10
20
40
20

I: Принтер

В лазерном принтере нужно менять картридж после печати каждых \(a\) страниц и фотобарабан после печати каждых \(b\) страниц. У принтера есть счётчик числа страниц, которые были распечатаны на нём за всё время его работы. Счётчик показывает \(n\) страниц. Сколько страниц ещё можно отпечатать на принтере, прежде чем придётся заменить картридж или фотобарабан?

Программа получает на вход числа \(a\), \(b\), \(n\) и должна вывести искомое число страниц.

Примечания

В первом примере если отпечатать 500 страниц, то всего будет отпечатано 5000 страниц, и закончится ресурс картриджа.

Во втором примере прямо сейчас нужно заменить фотобарабан.

Примеры

ВводВывод
1000
5500
4500
500
1000
5500
16500
0

J: Минимальная стоимость пути

Вы находитесь на проспекте и вам нужно проехать по проспекту \(d\) метров. Вы можете взять электросамокат (он находится прямо рядом с вами) и проехать часть пути или весь путь на самокате, также можно на самокате возвращаться обратно. Один метр пути на самокате будет стоить \(a\) копеек. Ещё вы можете заказать такси, стоимость одного километра на такси составляет \(b\) копеек. При этом такси может перевезти вас только на расстояние, являющееся целым числом километров.

Определите минимальную стоимость пути. Ходить пешком — не вариант!

Программа получает на вход числа \(d\) (метров), \(a\) (копеек за метр пути на самокате) и \(b\) (копеек за километр пути на такси) и должна вывести минимальную стоимость пути в копейках.

Примечания

В первом примере нужно проехать 2 километра на такси и 100 метров на самокате. Стоимость поездки составит \(2\times 5000 + 7\times 100 = 10700\).

Во втором примере нужно проехать 2900 метров. Проедем 3 километра на такси и вернёмся на 100 метров на самокате. Стоимость поездки составит \(3\times 5000 + 7\times 100 = 15700\).

В третьем примере весь пусть нужно проехать на самокате.

Примеры

ВводВывод
2100
7
5000
10700
2900
7
5000
15700
2900
7
10000
20300

K: Светофор

На светофоре сначала \(g\) секунд горит зелёный свет, потом \(y\) секунд горит жёлтый свет, потом \(r\) секунд горит красный цвет. С момента включения зелёного сигнала прошло \(t\) секунд. Определите, сколько секунд из этих \(t\) горел зелёный, жёлтый, красный сигнал.

Программа получает на вход числа \(g\), \(y\), \(r\), \(t\). Програма должна вывести три целых числа: продолжительность горения зелёного, жёлтого, красного сигнала в течение \(t\) секунд.

Примеры

ВводВывод
40
5
15
150
110 10 30
40
5
15
170
120 15 35

L: Школьные обеды

Меню в школьной столовой чередуется. Первый день обед стоит \(a\) рублей, второй день — \(b\) рублей, третий день — \(с\) рублей, далее опять \(a\), \(b\), \(c\) и т.д. До конца четверти осталось \(n\) дней, но неизвестно, сколько стоит обед сегодня. Какую минимальную сумму денег нужно иметь, чтобы её хватило на обеды в течение \(n\) дней?

Программа получает на вход числа \(a\), \(b\), \(n\) и должна вывести нужную сумму денег.

Пример

ВводВывод
320
300
330
7
2230

M: Коровы

Для данного числа \(n\lt 100\) закончите фразу «На лугу пасутся...» одним из возможных продолжений: «n коров», «n корова», «n коровы», правильно склоняя слово «корова».

Программа должна вывести введенное число n и одно из слов: korov, korova или korovy. Между числом и словом должен стоять ровно один пробел.

Примеры

ВводВывод
1
1 korova
2
2 korovy
5
5 korov

N: Тип треугольника

Даны три стороны треугольника \(a\), \(b\), \(c\). Определите тип треугольника с заданными сторонами. Выведите одно из четырех слов:

Примеры

ВводВывод
1
1
1
acute
3
4
5
rectangular

O: Билеты на метро - 1

Давным-давно билет на одну поездку в метро стоил 15 рублей, билет на 10 поездок стоил 125 рублей, билет на 60 поездок стоил 440 рублей. Пассажир планирует совершить \(n\) поездок. Определите, сколько билетов каждого вида он должен приобрести, чтобы суммарное количество оплаченных поездок было не меньше \(n\), а общая стоимость приобретенных билетов — минимальна.

Программа получает на вход одно число \(n\) и должна вывести три целых числа, равных необходимому количеству билетов на 1, на 10, на 60 поездок.

Примеры

ВводВывод
85
5 2 1
19
0 2 0

P: Упорядочить три числа

Дано три числа. Упорядочите их в порядке неубывания. Программа должна считывать три числа \(a\), \(b\), \(c\), затем программа должна менять их значения так, чтобы стали выполнены условия \(a\le b \le c\), затем программа выводит тройку \(a\), \(b\), \(c\).

Дополнительные ограничения: нельзя использовать дополнительные переменные (то есть единственной допустимой операцией присваивания является обмен значений двух переменных типа (a, b) = (b, a).

Какое наименьшее число сравнений необходимо для решения этой задачи? Почему нельзя обойтись меньшим числом сравнений?

Пример

ВводВывод
1
2
1
1 1 2

Q: Переставьте цифры

Вам даны три цифры (то есть три однозначных числа). Гарантируется, что среди них хотя бы одно число ненулевое. Составьте из этих цифр минимальное трёхзначное число. Запись трёхзначного числа не может начинаться с нуля.

Пример

ВводВывод
7
1
9
179

R: Узник замка Иф

За многие годы заточения узник замка Иф проделал в стене прямоугольное отверстие размером \(d\times e\). Замок Иф сложен из кирпичей, размером \(a\times b\times c\). Определите, сможет ли узник выбрасывать кирпичи в море через это отверстие, если стороны кирпича должны быть параллельны сторонам отверстия.

Программа получает на вход числа \(a\), \(b\), \(c\), \(d\), \(e\) и должна вывести слово YES или NO.

Примеры

ВводВывод
2
1
3
2
2
YES
1
2
3
1
1
NO

S: Коробки

Есть две коробки, первая размером \(a_1\times b_1\times c_1\), вторая размером \(a_2\times b_2\times c_2\). Определите, можно ли разместить одну из этих коробок внутри другой, при условии, что поворачивать коробки можно только на \(90^\circ\) вокруг рёбер.

Программа получает на вход числа \(a_1\), \(b_1\), \(c_1\), \(a_2\), \(b_2\), \(c_2\),. Программа должна вывести одну из следующих строчек:

Примеры

ВводВывод
1
2
3
3
2
1
Boxes are equal
3
4
5
2
4
6
Boxes are incomparable

T: Яша плавает в бассейне

Яша плавал в бассейне размером \(n\times m\) метров и устал. В этот момент он обнаружил, что находится на расстоянии \(x\) метров от одного из длинных бортиков (не обязательно от ближайшего) и \(y\) метров от одного из коротких бортиков. Какое минимальное расстояние должен проплыть Яша, чтобы выбраться из бассейна на бортик?

Программа получает на вход числа \(n\), \(m\), \(x\), \(y\). Программа должна вывести число метров, которое нужно проплыть Яше до бортика.

Пример

ВводВывод
10
25
7
8
3

U: Пересадки

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

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

Программа должна выводить одно число — искомое количество остановок.

Примеры

ВводВывод
3
6
4
2
2
3
1
5
10
0

V: Два прямоугольника

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

Определите площадь закрашенной Петей области на том куске, который вырезал Вася.

Программа получает на вход 8 целых чисел — \(x_1\), \(y_1\), \(x_2\), \(y_2\), \(x_3\), \(y_3\), \(x_4\), \(y_4\), где \((x_1, y_1)\) — координаты левого нижнего угла рисунка Пети, \((x_2, y_2)\) — координаты правого верхнего угла рисунка. Аналогично, \((x_3, y_3)\) — координаты левого нижнего угла вырезанного Васей прямоугольника, \((x_4, y_4)\) — координаты правого верхнего угла вырезанного прямоугольника. Гарантируется, что данные прямоугольники невырождены (\(x_1 \lt x_2\), \(y_1 \lt y_2\) и аналогичные неравенства для второго набора координат).

Программа должна вывести одно число — площадь закрашенной области на прямоугольном вырезанном куске.

Примеры

ВводВывод
1
1
2
2
3
3
4
4
0
1
1
3
3
2
2
4
4
1
1
1
4
4
2
2
4
5
4

W: Билеты на метро - 2

Решите задачу «Билеты на метро» при наличии следующих билетов:

Программа получает на вход одно число n и должна вывести пять целых чисел: количество билетов на 1, 5, 10, 20, 60 поездок, которое необходимо приобрести. Если для какого-то данного n существует несколько способов приобретения билетов одинаковой суммарной стоимости, необходимо вывести ту комбинацию билетов, которая дает большее число поездок. Если есть два варианта одинаковой стоимости с одинаковым числом поездок, нужно выбрать тот вариант, при котором приобретается минимальное число билетов (для упрощения расчётов).

Пример

ВводВывод
89
0 0 1 1 1 

X: Складирование ноутбуков

На склад, который имеет форму прямоугольного параллелепипеда, привезли ноутбуки, упакованные в коробки. Каждая коробка также имеет форму прямоугольного параллелепипеда. По правилам хранения коробки с ноутбуками должны быть размещены на складе с выполнением следующих двух условий:

  1. Стороны коробок должны быть параллельны сторонам склада,
  2. Коробку при помещении на склад разрешается расположить где угодно (с выполнением предыдущего условия), в том числе на другой коробке, но все коробки должны быть ориентированы одинаково (т.е. нельзя одну коробку расположить «стоя», а другую — «лежа»).

Напишите программу, которая по размерам склада и размерам коробки с ноутбуком определит максимальное количество ноутбуков, которое может быть размещено на складе. Программа получает на вход шесть натуральных чисел. Первые три задают длину, высоту и ширину склада. Следующие три задают соответственно длину, высоту и ширину коробки с ноутбуком. Программа должна вывести одно число — максимальное количество ноутбуков, которое может быть размещено на складе.

Примеры

ВводВывод
100
200
300
1
2
3
1000000
100
200
300
3
2
1
1000000
100
100
1
2
2
2
0
7
7
7
3
3
3

Y: Расстановка ноутбуков

В школе решили на один прямоугольный стол поставить два прямоугольных ноутбука.

Ноутбуки нужно поставить так, чтобы их стороны были параллельны сторонам стола.

Определите, какие размеры должен иметь стол, чтобы оба ноутбука на него поместились, и площадь стола была минимальна.

Вводится четыре натуральных числа, первые два задают размеры одного ноутбука, а следующие два — размеры второго. Числа не превышают 1000.

Выведите два числа — размеры стола. Если возможно несколько ответов, выведите любой из них (но только один).

Примечания

В первом примере ответом также будут числа 2 20, а также перестановка этих чисел.

Примеры

ВводВывод
10
2
2
10
10 4
5
7
3
2
5 9

Z: Римские числа

Дано натуральное число \(N\) от 1 до 3999. Выведите его запись римскими цифрами.

Пример

ВводВывод
179
CLXXIX

ZA: Настольный теннис

Вася, Петя и Коля играли в теннис навылет (проигравший пропускал следующую партию, уступая свое место третьему). Вася утверждает, что сыграл \(x\) партий, Петя — что сыграл \(y\) партий, Коля — \(z\) партий.

Определите, могло ли такое быть.

Программа получает на вход целых неотрицательных числа \(x\), \(y\), \(z\) и должна вывести YES, если такое могло быть, и NO в противном случае.

Примеры

ВводВывод
3
1
2
YES
1
1
1
NO

ZB: Котлеты

На сковородку одновременно можно положить \(k\) котлет. Каждую котлету нужно с каждой стороны обжаривать \(m\) минут непрерывно. Обжаренную с одной стороны котлету можно отложить и дожарить позже. За какое наименьшее время удастся поджарить с обеих сторон \(n\) котлет?

Программа получает на вход три числа: \(k\), \(m\) и \(n\) и должна вывести одно число: наименьшее количество минут.

Примеры

ВводВывод
1
1
1
2
2
2
1
4

ZC: Фотография

Фотографа делает групповую фотографию детей. Он размещает детей не более чем в четыре ряда. Девочек он располагает либо во втором ряду, сидящими на стульчиках, либо стоящими в третьем ряду. Мальчиков он размещает либо в первом ряду, сидящими на корточках, либо в четвёртом ряду, стоящими на стульчиках.

Фотограф хочет разместить детей так, чтобы количество детей в самом длинном ряду было как можно меньше. Группа состоит из \(a\) мальчиков и \(b\) девочек. В студии есть стулья в количестве \(c\) штук. Какие-то ряды могут быть пустыми. Все стулья использовать не обязательно.

Определите количество детей в самом длинном ряду, при оптимальном размещении группы.

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

Программа получает на вход три целых неотрицательных числа \(a\), \(b\) и \(c\), записанных в отдельных строках — количество мальчиков, девочек и стульев соответственно. Все числа не превосходят \(10^{18}\).

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

Программа должна вывести одно целое число — минимальную ширину группы, которую сможет организовать фотограф.

Примечания

Во всех примерах в условии группа состоит из 9 мальчиков и 15 девочек.

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

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

В третьем примере есть 7 стульев. Тогда есть два способа получить группу ширины 9. Например, можно посадить на все стулья девочек, тогда в первом ряду будет 9 мальчиков, во втором ряду будет 7 девочек, в третьем ряду 8 девочек. Либо можно посадить на стулья 6 девочек и поставить одного мальчика в четвёртый ряд. Тогда получим 8 мальчиков в первом ряду, 6 девочек во втором, 9 девочек в третьем и 1 мальчика в четвёртом. В любом из этих двух случаев ширина группы равна 9.

В четвёртом примере стульев много и есть несколько способов организовать группу ширины 8. Один из способов такой: посадим на корточки 4 мальчика в первом ряду, далее посадим 8 девочек на стулья во втором ряду, оставшиеся 7 девочек встанут в третьем и 5 мальчиков поставим на стульчики в четвёртом.

Примеры

ВводВывод
9
15
0
15
9
15
4
11
9
15
7
9
9
15
100
8

ZD: Пульт управления

Телевизор показывает \(N\) телевизионных каналов, пронумерованных числами от \(1\) до \(N\).

Переключать каналы можно с помощью двух кнопок на пульте: «\(+\)» и «\(-\)».

Короткое нажатие на кнопку «\(+\)» приведёт к переключению на следующий канал, если номер текущего канала меньше \(N\); если же номер текущего канала равен \(N\), то телевизор продолжит показывать этот канал. Если кнопку «\(+\)» нажать и удерживать некоторое время, произойдёт переход на \(K\) каналов вперёд, при условии, что номер текущего канала не превосходит \(N - K\). В противном случае произойдёт переход на канал \(N\).

Аналогично, короткое нажатие на кнопку «\(-\)» приведёт к переключению на предыдущий канал, если номер текущего канала больше 1; если же номер текущего канала равен 1, телевизор продолжит показывать этот канал. Если кнопку «\(-\)» нажать и удерживать некоторое время, то произойдёт переход на \(K\) каналов назад при условии, что номер текущего канала превышает \(K\). В противном случае произойдёт переход на канал 1.

Телевизор показывает канал \(P\) и вы ходите переключиться на канал с номером \(U\). Определите, какое минимальное количество нажатий на кнопки пульта потребуется сделать для этого.

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

В первой строке содержится целое число \(N\) \((3 \le N \le 10^9)\) — количество телевизионных каналов.

Во второй строке содержится целое число \(K\) \((2 \le K \lt N)\) — количество каналов, на которое осуществится переход назад или вперёд при удерживании соответствующей кнопки переключения.

В третьей строке содержится целое число \(P\) \((1 \le P \le N)\) — номер канала, который показывает телевизор.

В четвёртой строке содержится целое число \(U\) \((1 \le U \le N)\) — номер канала, на который необходимо переключиться.

Гарантируется, что \(P\ne U\).

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

Выведите одно целое неотрицательное число — минимальное количество нажатий на кнопки пульта, которое необходимо для переключения с канала \(P\) на канал \(U\).

Примечания

В первом примере следует сначала выполнить одно короткое нажатие на кнопку «\(+\)» и переключиться с канала 3 на канал 4, а затем трижды осуществить переход вперёд на 5 каналов: сначала переключиться с 4 на 9, затем с 9 на 14 и, наконец, с 14 на 19 канал.

Во втором примере можно сначала переключиться коротким нажатием на кнопку «\(-\)» на канал 2, после чего выполнить три перехода вперёд на 5 каналов: с канала 2 на канал 7, затем на канал 12 и, наконец, на канал 17.

В третьем примере нужно дважды выполнить короткое нажатие кнопки «\(-\)».

В четвёртом примере нужно сначала перейти назад, на канал 1, после чего трижды выполнить переход вперёд, последовательно на каналы 6, 11, 16.

Примеры

ВводВывод
20
5
3
19
4
20
5
3
17
4
20
5
14
12
2
20
5
3
16
4