Составить программу решающую следующую задачу:Вы покупаете товар,и у вас имеются купюры номиналом 10,50,100,1000 рублей.Наберите необходимую сумму товара в N рублей так,чтобы она состояла из минимального количества купюр

Составить программу решающую следующую задачу:Вы покупаете товар,и у вас имеются купюры номиналом 10,50,100,1000 рублей.Наберите необходимую сумму товара в N рублей так,чтобы она состояла из минимального количества купюр
Гость
Ответ(ы) на вопрос:
Гость
Напишу все же с жадным))) // PascalABC.NET 3.2, сборка 1383 от 09.02.2017 // Внимание! Если программа не работает, обновите версию! begin   var k:=Arr(1000,100,50,10); // массив с достоинствами купюр   var s:=ReadInteger('Введите сумму:'); // сумма к оплате   Writeln('Уплатить:');   var i:=0;   while s>0 do begin     var p:=s div k[i];     if p>0 then Writeln(p,' шт. достоинством ',k[i],' руб.');     s:=s mod k[i]; i+=1     end; end. Пример Введите сумму: 1630 Уплатить: 1 шт. достоинством 1000 руб. 6 шт. достоинством 100 руб. 3 шт. достоинством 10 руб.
Гость
На Python 2.X: # coding: utf-8 notes = (10, 50, 100, 1000) def in_notes(notes, num):     d = {}     m = num     for note in sorted(notes, reverse=True):         d[note], m = divmod(m, note)     return d n = input("Введите сумму: ") print "В купюрах:" for note, count in sorted(in_notes(notes, n).iteritems()):     if count == 0:         continue     print "{}: x{}".format(note, count)
Не нашли ответ?
Ответить на вопрос
Похожие вопросы