Составить программу решающую следующую : вы покупаете товар,и у вас имеются купюры номиналом 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 руб.
// 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 руб.
# 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)