Задание 10 Параграф 5.3 ГДЗ Босова 8 класс 2025 (Информатика)
Босова, Босова
8 класс
Класс
8
Предмет
Информатика
Автор
Босова, Босова
Задание 10 Параграф 5.3 ГДЗ Босова 8 класс 2025 (Информатика)
Задача
- Запишите на языке Python программу, реализующую алгоритм работы кассира, выдающего покупателю сдачу ($$s$$) наименьшим возможным количеством банкнот по 500 ($$k500$$), 200 ($$k200$$), 100 ($$k100$$) и 50 ($$k50$$) рублей. Предусмотрите вывод сообщения о том, что часть сдачи, которую невозможно выдать купюрами, будет выдана монетами. Для проверки правильности программы используйте тест:
Входные данные: 845
Подробный ответ
Пусть $$s$$ — сумма сдачи. Тогда количество банкнот каждого номинала находим последовательно, начиная с самых крупных:
- $$k_{500}=s \div 500$$
- $$k_{200}=(s \bmod 500)\div 200$$
- $$k_{100}=(s \bmod 500 \bmod 200)\div 100$$
- $$k_{50}=(s \bmod 100)\div 50$$
Оставшаяся сумма $$s \bmod 50$$ выдаётся монетами.
s=int(input(‘Сдача > ‘))
k500=s//500
k200=s%500//200
k100=s%500%200//100
k50=s%100//50
print(‘Следует сдать:’)
print(‘по 500 руб. -‘, k500, ‘шт.’)
print(‘по 200 руб. -‘, k200, ‘шт.’)
print(‘по 100 руб. -‘, k100, ‘шт.’)
print(‘по 50 руб. -‘, k50, ‘шт.’)
print(‘монетами -‘, s%50, ‘руб.’)
Для теста $$s=845$$ получаем:
- $$845 \div 500 = 1$$;
- $$845 \bmod 500 = 345,\quad 345 \div 200 = 1$$;
- $$345 \bmod 200 = 145,\quad 145 \div 100 = 1$$;
- $$145 \bmod 100 = 45,\quad 45 \div 50 = 0$$;
- остаток $$845 \bmod 50 = 45$$.
Ответ: при $$s=845$$ нужно выдать 1 банкноту по 500 руб., 1 банкноту по 200 руб., 1 банкноту по 100 руб., 0 банкнот по 50 руб., а $$45$$ руб. — монетами.
Другие учебники
Другие предметы



