Покупатель должен заплатить в кассу S рублей. У него имеются монеты в 1, 2 и 5 рублей, а также купюры достоинством в 10, 50, 100 и 500 рублей (достаточное количество). Сколько монет и купюр разного достоинства отдаст покупатель...

Покупатель должен заплатить в кассу S рублей. У него имеются монеты в 1, 2 и 5 рублей, а также купюры достоинством в 10, 50, 100 и 500 рублей (достаточное количество). Сколько монет и купюр разного достоинства отдаст покупатель, если он начинает платить с самых крупных? Операции целочисленного деления (div и mod) использовать нельзя. Протестировать программу для S=567, S=1025, S=64, S=13.
Гость
Ответ(ы) на вопрос:
Гость
var     money: array[1..7]of integer;     count: array[1..7]of integer;     s, i: integer; begin     money[1] := 1;     money[2] := 2;     money[3] := 5;     money[4] := 10;     money[5] := 50;     money[6] := 100;     money[7] := 500;          write('s = ');     readln(s);          i := 7;     repeat         if s >= money[i] then begin             s := s - money[i];             count[i] := count[i] + 1;         end         else i := i - 1;     until s <= 0;          for i := 7 downto 1 do         if count[i] > 0 then             writeln(money[i], ' p. = ', count[i], ' шт.') end.
Не нашли ответ?
Ответить на вопрос
Похожие вопросы