4 бита
каждый принимает по 2 значения
значит всего вариантов 2*2*2*2 = 16
Задача сделана на языке паскаль, при помощи
PaskalPlus<span>
Оформление сделана как для студенческой задачи
<span>Если есть вопросы пиши в личку</span></span>
// PascalABC.NET 3.1, сборка 1198 от 11.03.2016
begin
var Bnk:=Arr(500,100,50,10);
var s:=ReadInteger('Сдача, руб:');
var Kol:=Arr(0,0,0,0);
for var i:=0 to 3 do begin
Kol[i]:=s div Bnk[i];
s:=s mod Bnk[i]
end;
if s<>0 then Writeln('Сдачу дать невозможно')
else begin
Writeln('Следует дать:');
for var i:=0 to 3 do
Writeln('банкнот по ',Bnk[i],' руб - ',Kol[i],' шт.')
end
end.
<u><em>Тестовое решение:</em></u>
Сдача, руб: 850
Следует дать:
банкнот по 500 руб - 1 шт.
банкнот по 100 руб - 3 шт.
банкнот по 50 руб - 1 шт.
банкнот по 10 руб - 0 шт.
в первом случае 5, во втором 8.