Составить программу решающую следующую задачу:Вы покупаете товар,и у вас имеются купюры номиналом 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)
Не нашли ответ?
Похожие вопросы