В
Все
Б
Биология
Б
Беларуская мова
У
Українська мова
А
Алгебра
Р
Русский язык
О
ОБЖ
И
История
Ф
Физика
Қ
Қазақ тiлi
О
Окружающий мир
Э
Экономика
Н
Немецкий язык
Х
Химия
П
Право
П
Психология
Д
Другие предметы
Л
Литература
Г
География
Ф
Французский язык
М
Математика
М
Музыка
А
Английский язык
М
МХК
У
Українська література
И
Информатика
О
Обществознание
Г
Геометрия

Билеты на метро
Давным-давно цены на билеты в московском метро были такими:

1 поездка — 15 рублей,
5 поездок — 70 рублей,
10 поездок — 125 рублей,
20 поездок — 230 рублей,
60 поездок — 440 рублей.
Пассажир планирует совершить n поездок. Определите, сколько билетов каждого вида он должен приобрести, чтобы суммарное количество оплаченных поездок было не меньше n, а общая стоимость приобретенных билетов — минимальна.

Входные данные

Программа получает на вход одно натуральное число n, не превосходящее 10000.

Выходные данные

Программа должна вывести пять целых чисел: количество билетов на 1,5,10,20,60 поездок, которое необходимо приобрести. Если для какого-то данного n существует несколько приобретения билетов одинаковой суммарной стоимости, необходимо вывести ту комбинацию билетов, которая дает большее число поездок.
Есть такая задача, можите надо написать на python 3, что с моей не так, при n=59 выдаёт неправильный ответ:
n=int(input())
if n%60==0:
e=n//60
else:
e=n//60
if (n-e*60)%20==0:
d=(n-e*60)//20
else:
d=(n-e*60)//20
if (n-e*60-d*20)%10==0:
c=(n-e*60-d*20)//10
else:
c=(n-e*60-d*20)//10
if (n-e*60-d*20-c*10)%5==0:
b=(n-e*60-d*20-c*10)//5
else:
b=(n-e*60-d*20-c*10)//5
a=(n-e*60-d*20-c*10-b*5)//1
print(a,b,c,d,e)
Программа.

Показать ответ
Ответ:
nastyakot11
nastyakot11
17.07.2020 11:14
Для решения подобных заданий, нужно перевести данные цифры в маске и узле в двоичную с.с. и сделать поразрядную коньюнкцию(логическое умножение). 255(10) равно 111 111 11(2) значит, любое число при умножении на это, даст себя же, т.к. при умножении 1 на 0 будет 0, значит первые 2 цифры остануться теми же 224.23, а вот 240 и 251 нужно перевести в двоичнцю с.с. и посчитать. 240(10) это 11 110 000(2), а 251(10) равно 11 111 011, вместе они дадут 11 110 000(2), переводим это число в 10 с.с. это будет 240. При умножении на 0 будет 0,поэтому в конце 0 остаеться. В итоге у нас получилось:224.23.240.0 ответ:DFBH
0,0(0 оценок)
Ответ:
tatianani
tatianani
15.11.2021 16:49

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

Системы счисления бывают: позиционные (пример, десятичная и двоичная СС), непозиционные (пример, арабская или римская СС), смешанные (пример, счёт минут, часов).

Основанием системы счисления - набор символов (цифр), используемых в каждом из разрядов данного числа для его изображения в данной системе счисления

ИЛИ

Основание системы счисления - количество цифр и символов, использующихся для записи и демонстрации числа.

0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота