Предмет: Информатика, автор: student228v6

задача у пайтоні
Є довільна кількість монет номіналами по 1, 5 та 20 гривень.
З клавіатури вводиться сума N гривень.
(N<2 000 000 000)
Потрібно видати цю суму найменшою кількістю монет.
Приклад вхідних даних:
10004
Відповідь:
500 по 20 гр
0 по 5 гр
4 по 1 гр

Ответы

Автор ответа: Data1lz
0

Ответ:

Объяснение:

Цей код використовує жадібний алгоритм для розрахунку кількості монет кожного номіналу, які потрібні для видання заданої суми. В результаті він виводить кількість монет кожного номіналу, які потрібні для видання заданной


Data1lz: def coin_change(amount):
coins = [20, 5, 1] # номінали монет
counts = [0, 0, 0] # кількість монет кожного номіналу
for i in range(len(coins)):
while amount >= coins[i]:
counts[i] += 1
amount -= coins[i]
return counts

# Приклад використання
amount = int(input("Введіть суму: "))
counts = coin_change(amount)
print(f"{counts[0]} по 20 гр")
print(f"{counts[1]} по 5 гр")
print(f"{counts[2]} по 1 гр")
Автор ответа: Аноним
0

Объяснение:

Можно логически понять, что чем больше номинал валюты, тем меньше купюр нам придется использовать. Тогда наш алгоритм можно построить таким образом:

  1. Получить количество купюр номиналом 20 гривен из изначального количества монет;
  2. Получить количество купюр номиналом 5 гривен из оставшихся;
  3. Получить количество купюр номиналом 1 гривну из оставшихся.

Код Python 3.10:

n = int(input())

twenty = n // 20

five = n % 20 // 5

one = n % 100

print(twenty)

print(five)

print(one)

Приложения:
Похожие вопросы
Предмет: Биология, автор: prozymetro