• Предмет: Информатика
  • Автор: arsenkaliyev98
  • Вопрос задан 6 лет назад

У Ричарда в банке есть n долларов. Он хочет снять всю сумму наличными. Номиналы купюр равны 1, 5, 10, 20, 100. Какое минимальное число купюр должен получить Ричард после того, как снимет все деньги? На вход программе поступает одно положительные целое число n.
ДАЮ 60 БАЛЛОВ
на языке программирования python

Ответы

Ответ дал: Fedy16
1

Python:

N = int(input())  # сумма, которую нужно выдать

nominal = [100, 20, 10, 5, 1]  # номиналы банкнот

F = [0]

for m in range(1, N + 1):

   F.insert(m, float("+inf"))

   for i in range(len(nominal)):

       if m >= nominal[i] and F[m - nominal[i]] + 1 < F[m]:

           F[m] = F[m - nominal[i]] + 1

print(F[N])

Вас заинтересует