В таблице приведены за к поисковому серверу. Для каждого за указан его код - соответствующая буква от А до Г. Расположите коды за в порядке убывания количества страниц, которые нашел поисковый сервер по каждому за По всем за было найдено разное количество страниц. Для обозначения логической операции "ИЛИ" в за используется символ "|", а для логической операции "И" - "&".
а) 101000₂
б) 28₁₆
Объяснение:
Сначала все числа нужно привести к единой системе счисления.
11₂=3
11₈=9
11₁₆=17
Получается следующее: 3+9+11+17=3+20+17=20+20=40 (это в десятичной СС)
а) для перевода в двоичную СС мы последовательно делим число 40, пока остаток и частное не станет равным 0 или 1. Остаток от деления записываем в обратном порядке.
б) перевод целых десятичных чисел в любую другую системы счисления осуществляется делением числа на основание новой системы счисления (в нашем случае это 16) до тех пор, пока в остатке не останется число меньшее основания новой системы счисления. Новое число записывается в виде остатков деления, начиная с последнего.
a:array[1..3,1..3] of integer;
t:array[0..2] of boolean;
k:array[0..2] of integer;
i,j:integer;
res:boolean;
begin
for i := 1 to 3 do
for j := 1 to 3 do
read(a[i,j]);
for i := 0 to 2 do
begin
k[i] := 0;
t[i] := false;
end;
for i := 1 to 3 do
for j := 1 to 3 do
k[a[i,j]] := k[a[i,j]] + 1;
for i := 1 to 3 do
begin
if (a[i,1] = a[i,2]) and (a[i,2] = a[i,3]) then
t[a[i,1]] := true;
if (a[1,i] = a[2,i]) and (a[2,i] = a[3,i]) then
t[a[1,i]] := true;
end;
if (a[1,1] = a[2,2]) and (a[2,2] = a[3,3]) then
t[a[2,2]] := true;
if (a[3,1] = a[2,2]) and (a[2,2] = a[1,3]) then
t[a[2,2]] := true;
res := true;
if (k[1] - k[2] > 1) or (k[1] - k[2] < 0) then
res := false;
if t[1] and ( t[2] or (k[1] = k[2]) ) then
res := false;
if res then
writeln('YES')
else
writeln('NO')
end.