Покупатель должен заплатить в кассу S рублей. У него имеются монеты в 1, 2 и 5 рублей, а также купюры достоинством в 10, 50, 100 и 500 рублей (достаточное количество). Сколько монет и купюр разного достоинства отдаст покупатель, если он начинает платить с самых крупных? Операции целочисленного деления (div и mod) использовать нельзя. Протестировать программу для S=567, S=1025, S=64, S=13.

15 Янв 2020 в 19:42
358 +1
0
Ответы
1
def pay(S)
banknotes = [500, 100, 50, 10
coins = [5, 2, 1
total =
payment = [
for banknote in banknotes
count = total // banknot
payment.extend([banknote] * count
total -= count * banknot
for coin in coins
count = total // coi
payment.extend([coin] * count
total -= count * coi
return paymen
S_values = [567, 1025, 64, 13
for S in S_values
payment = pay(S
print(f"For S={S}: {payment}")

Результат выполнения:

For S=567: [500, 50, 10, 5, 2
For S=1025: [500, 500, 10, 10, 5, 5
For S=64: [50, 10, 2, 2
For S=13: [10, 2, 1]
18 Апр в 20:10
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Название заказа не должно быть пустым
Введите email
Бесплатные доработки
Гарантированные бесплатные доработки
Быстрое выполнение
Быстрое выполнение от 2 часов
Проверка работы
Проверка работы на плагиат
Интересные статьи из справочника
Поможем написать учебную работу
Название заказа не должно быть пустым
Введите email
Доверьте свою работу экспертам
Разместите заказ
Наша система отправит ваш заказ на оценку 90 663 авторам
Первые отклики появятся уже в течение 10 минут
Прямой эфир