• Предмет: Информатика
  • Автор: Шоколадка525
  • Вопрос задан 2 года назад

Программирование на Python.
Ведьмаку заплатите чеканной монетой

Всем известно, что ведьмак способен одолеть любых чудовищ, однако его услуги обойдутся недешево, к тому же ведьмак не принимает купюры, он принимает только чеканные монеты. В мире ведьмака существуют монеты с номиналами 1, 5, 10, 25.

Напишите программу, которая определяет какое минимальное количество чеканных монет нужно заплатить ведьмаку.

Формат входных данных 
На вход программе подается одно натуральное число, цена за услугу ведьмака.

Формат выходных данных
Программа должна вывести минимально возможное количество чеканных монет для оплаты.

Ответы

Ответ дал: mrpansar
10

sm = int(input())

coins = [1, 5, 10, 25]

ls = [0] * (sm+1)

for i in range(1, sm+1):

   ls[i] = float('inf')

   for coin in coins:

       if coin <= i:

           ls[i] = min(ls[i], ls[i-coin]+1)

print(ls[-1])


Шоколадка525: да
mrpansar: Какая ошибка?
Шоколадка525: SyntaxError: invalid syntax
mrpansar: Попробуй заменить на эту строку:
ls = [0 for _ in range(sm+1)]
Она делает все тоже самое.
Шоколадка525: хорошо, спасибо
Шоколадка525: опять ошибка
mrpansar: Какая у Вас версия языка?
Шоколадка525: Python 3
mrpansar: Да понятно, что не вторая. У меня работают оба варианта, ищите ошибку у себя.
Шоколадка525: Ошибку нашла, спасибо за ответ
Вас заинтересует