Предмет: Информатика,
автор: sss1323xcvrua
Билет на одну поездку в метро стоит 15 рублей, билет на 5 поездок стоит 70 рублей, билет на 10 поездок стоит 125 рублей, билет на 20 поездок стоит 230 рублей, билет на 60 поездок стоит 440 рублей.
Пассажир планирует совершить n поездок. Определите, сколько билетов каждого вида он должен приобрести, чтобы суммарное количество оплаченных поездок было не меньше n, а общая стоимость приобретенных билетов – минимальна.
Входные данные
Дано одно число n - количество поездок.
Выходные данные
Выведите пять целых чисел, равные необходимому количеству билетов на 1, на 5, на 10, на 20, на 60 поездок. Если для какого-то данного n существует несколько способов приобретения билетов одинаковой стоимости, необходимо вывести ту комбинацию билетов, которая дает большее число поездок.
Примеры
входные данные
1
выходные данные
1 0 0 0 0
Ответы
Автор ответа:
1
n = int(input('Введите n: '))
r = [0]*4+[n//60]
n -= 60*(n//60)
r[3] = n//20
n -= 20*(n//20)
r[2] = n//10
n -= 10*(n//10)
r[1] = n//5
n -= 5*(n//5)
r[0] = n//1
n -= 1*(n//1)
if r[0]*15 >= 70: r[:2]=[0]+[r[1]+1]
if r[0]*15 + r[1]*70 >= 125: r[:3]=[0,0] + [r[2]+1]
if r[0]*15 + r[1]*70 + r[2]*125 >= 230: r[:4]=[0,0,0] + [r[3]+1]
if r[0]*15 + r[1]*70 + r[2]*125 + r[3]*230 >= 440: r[:5]=[0,0,0,0] + [r[4]+1]
print(*r)
Похожие вопросы
Предмет: Українська мова,
автор: Аноним
Предмет: Окружающий мир,
автор: Stm37
Предмет: Другие предметы,
автор: Няшка22042003
Предмет: Химия,
автор: terrorist5321
Предмет: Алгебра,
автор: lizalyamtsova