Задача №304. Билеты на метро Ввод и вывод данных производятся через стандартные потоки ввода-вывода.
Билет на одну поездку в метро стоит 15 рублей, билет на 10 поездок стоит 125 рублей, билет на 60 поездок стоит 440 рублей. Пассажир планирует совершить n поездок. Определите, сколько билетов каждого вида он должен приобрести, чтобы суммарное количество оплаченных поездок было не меньше n, а общая стоимость приобретенных билетов – минимальна.

Входные данные
Дано одно число n - количество поездок.

Выходные данные
Выведите три целых числа, равные необходимому количеству билетов на 1, на 10, на 60 поездок.

Примеры
входные данные
129
выходные данные
0 1 2

StefaMusic2006 StefaMusic2006    3   31.05.2021 12:31    43

Ответы
3432714566 3432714566  15.01.2024 20:12
Добрый день!

Давайте разберемся вместе в этой задаче.

Задача состоит в том, чтобы определить, сколько билетов каждого вида (на 1 поездку, на 10 поездок и на 60 поездок) нужно приобрести пассажиру, чтобы общая стоимость была минимальной при условии, что количество оплаченных поездок не меньше n.

Для начала, давайте подумаем о том, как можно решить эту задачу.

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

Также, стоит отметить, что если мы купим 10 отдельных билетов на 10 поездок, то это будет стоить 10 * 15 рублей, что равно 150 рублей. Однако, мы можем купить специальный билет на 10 поездок за 125 рублей, что будет более выгодно.

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

Для начала, нужно считать входные данные - количество поездок (переменная n).

После этого, мы можем начать решение:
- Сначала мы проверим, может ли пассажир совершить все поездки на 60 поездок. Для этого нужно разделить общее количество поездок (n) на 60 и получить целое число (можно использовать операцию целочисленного деления или взять целую часть от деления с помощью функции int). Получившееся число (пусть это будет переменная x1) будет равно необходимому количеству билетов на 60 поездок.
- Затем, мы проверяем, сколько осталось поездок после того, как все возможные поездки были совершены на 60 поездок. Для этого нужно вычесть произведение x1 на 60 из n. Пусть это будет переменная n1.
- Теперь мы делаем то же самое для билетов на 10 поездок. Для этого делаем деление n1 на 10 и получаем целое число (переменная x2). Оно будет равно необходимому количеству билетов на 10 поездок.
- Опять вычитаем произведение x2 на 10 из n1 и получаем остаток (пусть это будет переменная n2).
- Остаток (n2) будет равен необходимому количеству билетов на 1 поездку.

Поздравляю, мы решили задачу! Теперь можем вывести результаты.

Выводим результаты в формате "количество билетов на 1 поездку количество билетов на 10 поездок количество билетов на 60 поездок". В нашем случае, это будет "n2 x2 x1".

Надеюсь, это решение понятно и помогло вам разобраться в задаче. Если у вас возникли дополнительные вопросы, не стесняйтесь задавать их. Я буду рад помочь!
ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика