Доступ к кораблем защищен надежным паролем и системой
защиты от брутфорса (программ взлома паролей). принцип работы системы прост:
как только космический пират выполнил n попыток перебора – пароль
самопроизвольно увеличивается в длине, добавлением в конец одного символа –
последнего знака алфавита. определить время, необходимое взломщику на подбор
пароля с такой защитой, если каждый вариант пароля проверяется за 1 миллисекунду,
если пират производит полный перебор возможных вариантов, начиная с первого
знака алфавита и движется в алфавитном порядке.
формат входных данных: на вход программе подается строка - алфавит из
которого могут составляться пароли, затем строка, состоящая из символов
выбранного алфавита (длины строк не более 256 символов) - составленный пароль и
число n - количество попыток ввода пароля, после которого пароль самопроизвольно
увеличивается, где n больше мощности алфавита.
формат выходных данных: одно число – время в миллисекундах взлома данного
пароля полым перебором.
type mas=array[1..a] of integer;
mas1=array[1..3] of byte;
var R, Q, P:mas;
X:mas1;
i:byte;
procedure Form(var R, Q, P:mas);
var sr, sq, sp:byte;
begin
sr:=0;
sq:=0;
sp:=0;
for i:=1 to a do
begin
if (R[i]>=2) and (R[i]<=4) then sr:=sr+R[i];
if (Q[i]>=2) and (R[i]<=4) then sq:=sq+R[i];
if (P[i]>=2) and (R[i]<=4) then sp:=sp+R[i];
end;
x[1]:=sr;
x[2]:=sq;
x[3]:=sp;
writeln('Massiv x');
for i:=1 to 3 do
write(x[i]:3);
end;
begin
randomize;
for i:=1 to a do
begin
R[i]:=random(10);
Q[i]:=random(10);
P[i]:=random(10);
end;
writeln('Massiv r');
for i:=1 to a do
write(R[i]:3);
writeln;
writeln('Massiv Q');
for i:=1 to a do
write(Q[i]:3);
writeln;
writeln('Massiv P');
for i:=1 to a do
write(P[i]:3);
end.