Задача к ЕГЭ по информатике на тему «динамика, метод мат. индукции» №2

АР сделал банкомат, который выдает купюры достоинством 1,2,5,10,50,100,500,1000,5000  , и перепоручил написать жадный алгоритм по выдаче купюр (банкомат должен выдавать как можно меньше купюр). На вход подается число — целое значение в рублях, программа должна напечатать значения купюр в порядке убывания, которые выдает выдаст банкомат. В ответ выпишите кол-во 5000 купюр, которые выдаст банкомат, если на вход подать число 123456789  .

Пример входных данных: 5350

Ответ для данного пример: 1

n = 123456789
k5000 = 0
k1000 = 0
k500 = 0
k100 = 0
k50 = 0
k10 = 0
k5 = 0
k2 = 0
k1 = 0
while n != 0:
    if n >= 5000:
        n -= 5000
        k5000 += 1
        continue
    if n >= 1000:
        n -= 1000
        k1000 += 1
        continue
    if n >= 500:
        n -= 500
        k500 += 1
        continue
    if n >= 100:
        n -= 100
        k100 += 1
        continue
    if n >= 50:
        n -= 50
        k50 += 1
        continue
    if n >= 10:
        n -= 10
        k10 += 1
        continue
    if n >= 5:
        n -= 5
        k5 += 1
        continue












































































































































































































    if n >= 2:
        n -= 2
        k2 += 1
        continue
    if n >= 1:
        n -= 1
        k1 += 1
        continue
print(k1, k2, k5, k10, k50, k100, k500, k1000, k5000)

Ответ: 24691
admin
Оцените автора
Я решу все!
Добавить комментарий