<em>// PascalABC.NET 3.2, сборка 1383 от 09.02.2017</em>
<em>// Внимание! Если программа не работает, обновите версию!</em>
begin
var n:=ReadInteger('Количество строк в массиве:');
var m:=ReadInteger('Количество столбцов в массиве:');
Writeln('*** Исходный массив [',n,',',m,'] ***');
var a:=MatrRandom(n,m,0,1);
a.Println(4); Writeln(4*a.ColCount*'-');
Writeln(a.Rows.Any(x->x.All(x->x=0))?'Да':'Нет')
end.
<u>Примеры</u>
Количество строк в массиве: 10
Количество столбцов в массиве: 4
*** Исходный массив [10,4] ***
0 1 1 1
1 0 0 1
1 0 0 1
1 0 1 1
1 1 0 1
1 0 1 1
1 0 1 0
0 0 0 0
1 1 1 1
1 0 0 1
----------------
Да
Количество строк в массиве: 8
Количество столбцов в массиве: 5
*** Исходный массив [8,5] ***
1 1 0 0 1
1 1 0 1 0
1 0 0 0 0
0 0 0 1 1
1 0 1 1 1
1 0 0 1 1
1 1 0 1 1
0 1 1 1 0
--------------------
Нет
Program test ;
Var
a:integer;
Begin
For i:=0 to 9 do begin
For i1:=0 to 9 do begin
For i2:=0 to 9 do begin
If (i<>i1) and (i1<>i2) and (i<>i2) then begin
writeln(" Комбинация введенная агентом 007 - ",i*100+i1*10+i2);
a:=a+2;
End;
End;
End;
Writeln(" В ХУДШЕМ случае он затратит на подбор пароля. ", a div 60,"мин. ",a mod 60,"сек. ") ;
End.
Для начала найдем вес одного символа. Разделим общий объем на количество символов в сообщении. Но для этого переведем в биты: 6*1024*8=49152 бит.
Вес одного символа равняется 49152/6144=8 бит
Воспользуемся формулой N=2^i, где i - вес одного символа, N - количество символов в алфавите.
N=2^8=256 символов.
<span>8 Мбайт = 2^3*2^10 Кбайт = </span>2^13 Кбайт = 2^13*2^10 байт = <span>2^23 байт = </span>2^23*2^3 бит = <span>2^26 бит</span>