Вопрос задан 13.07.2023 в 19:14. Предмет Информатика. Спрашивает Рымар Иван.

Давным-давно цены на билеты в московском метро были такими: 1 поездка — 15 рублей, 5 поездок —

70 рублей, 10 поездок — 125 рублей, 20 поездок — 230 рублей, 60 поездок — 440 рублей. Пассажир планирует совершить n поездок. Определите, сколько билетов каждого вида он должен приобрести, чтобы суммарное количество оплаченных поездок было не меньше n, а общая стоимость приобретенных билетов — минимальна. Входные данные Программа получает на вход одно натуральное число n, не превосходящее 10000. Выходные данные Программа должна вывести пять целых чисел: количество билетов на 1,5,10,20,60 поездок, которое необходимо приобрести. Если для какого-то данного n существует несколько способов приобретения билетов одинаковой суммарной стоимости, необходимо вывести ту комбинацию билетов, которая дает большее число поездок. Примеры Ввод Вывод 7 2 1 0 0 0 1 1 0 0 0 0 Ограничения Процессорное время: 1 секунда Память: 64 MB На python пожалуйста)
0 0
Перейти к ответам

Ответы на вопрос

Внимание! Ответы на вопросы дают живые люди. Они могут содержать ошибочную информацию, заблуждения, а также ответы могут быть сгенерированы нейросетями. Будьте внимательны. Если вы уверены, что ответ неверный, нажмите кнопку "Пожаловаться" под ответом.
Отвечает Анисимова Валя.

Ответ:n=int(input())

k = n

n60=int(n//60)

n -= n60 * 60

n20=n//20

n -= n20 * 20

n10=n//10

n -= n10 * 10

n5=n//5

n -= n5 * 5

if n20 == 2:

   n = 0

   n5 = 0  

   n10 = 0

   n20 = 0

   n60 += 1    

if n > 0 and n5 == 1 and n10 == 1 and n20 == 1:

   n = 0

   n5 = 0

   n10 = 0

   n20 = 0

   n60 += 1

   

if n >= 3 and n5 == 1 and n10 == 1:

   n = 0

   n5 = 0

   n10 = 0

   n20 += 1

   if n20 == 2:

       n20 = 0

       n60 += 1        

   

if n == 4 and n5 == 1:

   n = 0

   n5 = 0

   n10 += 1

   if n10 > 1:

       n10 = 0

       n20 += 1

       if n20 > 1:

           n20 = 0

           n60 += 1

   

print(n,n5,n10,n20,n60)

Объяснение:

0 0
Отвечает нейросеть ChatGpt. Будьте внимательны, ответы нейросети могут содержать ошибочные или выдуманные данные.

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

Вот решение на Python:

python
def calculate_tickets(n): tickets_60 = n // 60 remaining = n % 60 tickets_20 = remaining // 20 remaining %= 20 tickets_10 = remaining // 10 remaining %= 10 tickets_5 = remaining // 5 remaining %= 5 tickets_1 = remaining return tickets_1, tickets_5, tickets_10, tickets_20, tickets_60 # Ввод количества поездок n n = int(input()) # Вычисляем количество билетов каждого типа result = calculate_tickets(n) # Выводим результат print(*result)

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

0 0

Похожие вопросы

Топ вопросов за вчера в категории Информатика

Последние заданные вопросы в категории Информатика

Задать вопрос