Пароль формируется из 6 символов,
каждый символ кодируется i - битами.
2^i =6; ---> 2^2< 6 < 2^3 ---> 3 бита для кодировки одного символа.
В одном пароле 11 символов, длина пароля =3*11=33 бита.
Каждый пароль - целое количество байтов :
33 бита =33:8 байтов =5 байтов
Для 20-ти паролей: 5*20=100 байтов.
// 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 шт.
Program z3; Var y: array [1..15] of real; g: array [1..20] of real; i,d, a,b: integer; sum, sum_2: real;Begin writeln('Введите оплату труда за день'); read(d); a:= 0; b:= 0; for i := 1 to 15 do begin y[i] := random (30); if (y[i] < 10) then a:= a + 1; y[i] := y[i] * d * 0.8; end; for i:=1 to 20 do g[i] := random (30); if (g[i] < 10) then b:= b + 1; g[i] := g[i] * d * 0.8; for i:=1 to 15 do begin writeln('Сотрудник y_',i,' - ',y[i]); sum:= sum + y[i]; end; writeln; writeln('Сумма отдела y - ', sum); writeln; for i:=1 to 20 do begin writeln('Сотрудник g_',i,' - ',g[i]); sum_2:= sum_2 + g[i]; end; writeln; writeln('Сумма отдела g - ', sum_2); writeln; writeln('В отделе y ', a, ' сотрудников работало меньше 10 дней'); writeln; writeln('В отделе g ', b, ' сотрудников работало меньше 10 дней'); End.