A) A&B∨!A&A∨B&A∨B&!B∨!A&!B=A&B∨0∨B&A∨0∨!A&!B=A&B∨!A&!B
б) !(A&B)&!(C&!A)&!(B&!C)=!(A&B)&(!C∨!!A)&(!B∨!!C)=!(A&B)&(!C∨A)&(!B∨C)= !(A&B)&(!C&!B∨A&!B∨A&C∨!C&C)=!(A&B)&(!C&!B∨A&!B∨A&C∨0)= !(A&B)&!C&!B∨!(A&B)&A&!B∨!(A&B)&A&C=(!A∨!B)&!C&!B∨(!A∨!B)&A&!B∨ (!A∨!B)&A&C=!A&!C&!B∨!B&!C&!B∨!A&A&!B∨!B&A&!B∨!A&A&C∨!B&A&C= !A&!C&!B∨!C&!B∨0∨A&!B∨0∨!B&A&C=!C&!B&(!A∨1)∨!B&A&(1+C)= !C&!B&1∨!B&A&1=!C&!B∨!B&A=!B&(!C∨A)
В)
A B C !A (!A∨B) F
0 0 0 1 1 0
0 1 0 1 1 0
1 0 0 0 0 1
1 1 0 0 1 0
0 0 1 1 1 1
0 1 1 1 1 1
1 0 1 0 0 0
1 1 1 0 1 1
Его можно записать так : либо x^(1/5) или просто 1/5
Const n=4;
var
a:array[1..n,1..n] of integer;
i,j,b:integer;
begin
Randomize;
writeln('Исходный массив:');
for i:=1 to n do
begin
for j:=1 to n do
begin
a[i,j]:=random(100);
write(a[i,j]:4);
end;
writeln;
end;
for i:=1 to n div 2 do
for j:=i to n-i do
begin
b:=a[i,j];
a[i,j]:=a[n-j+1,i];
a[n-j+1,i]:=a[n-i+1,n-j+1];
a[n-i+1,n-j+1]:=a[j,n-i+1];
a[j,n-i+1]:=b;
end;
writeln('Полученный массив:');
for i:=1 to n do
begin
for j:=1 to n do write(a[i,j]:4);
writeln;
end;
end.
Пример:
Исходный массив:
57 32 69 17
87 33 85 22
89 80 59 13
60 93 96 56
Полученный массив:
60 89 87 57
93 80 33 32
96 59 85 69
56 13 22 17
Если в алфавите 16 символов, то для записи одного символа необходимо log(2)16 = 4 бита (2^4=16)
2 Кбайт = 2*1024 байт = 2*1024*8 бит
Количество символов = 2*1024*8/4 = 4096
Стандартной функции, на сколько я знаю, нет, вот пример "самодельной" функции, возводящей число x в степень y:
function pow(x, y : integer) : integer;
var i, res : integer;
begin
res := 1;
for i:=1 to y do res := res*x;
pow := res;
end;