В терминологии сетей TCP/IP маской сети называется двоичное число,
определяющее, какая часть IP-адреса узла сети относится к адресу сети,
а какая – к адресу самого узла в этой сети. При этом в маске сначала
(в старших разрядах) стоят единицы, а затем с некоторого места – нули.
Обычно маска записывается по тем же правилам, что и IP-адрес – в виде
четырёх байтов, причём каждый байт записывается в виде десятичного
числа. Адрес сети получается в результате применения поразрядной
конъюнкции к заданному IP-адресу узла и маске.
Например, если IP-адрес узла равен 231.32.255.131, а маска равна
255.255.240.0, то адрес сети равен 231.32.240.0.
Узлы с IP-адресами 84.77.95.123 и 84.77.96.123 находятся в одной сети.
Укажите наибольшее возможное значение третьего слева байта маски этой
сети. ответ запишите в виде десятичного числа
//Pascal ABC.NET v3.0 сборка 1111
var
max1,max2,max3,i,maxi1,maxi2:integer;
ar:array of integer;
begin
max1:=-2147483648;
max2:=-2147483648;
max3:=-2147483648;
setlength(ar,1);
readln(ar[0]);
i:=0;
repeat
inc(i);
setlength(ar,i+1);
readln(ar[i]);
until ar[i]=0;
for i:=0 to i do
if ar[i]>max1 then
begin;
max1:=ar[i];
maxi1:=i;
end;
for i:=0 to i do
if (ar[i]>max2) and (i<>maxi1) then
begin;
max2:=ar[i];
maxi2:=i;
end;
for i:=0 to i do
if (ar[i]>max3) and (i<>maxi1) and (i<>maxi2) then max3:=ar[i];
write('Max1=',max1,' Max2=',max2,' Max3=', max3);
end.
var a, b, с: integer;
begin
write('Введите два числа: ');
readln(a, b);
if a < b then с := a + 1 else с := b + 1;
repeat с := с - 1
until (a mod с = 0) and (b mod с = 0);
write('NOD = ', с)
end.
//2. Алгоритм с вычитанием (цикл while)
var a, b: integer;
begin
write('a = ');
readln(a);
write('b = ');
readln(b);
while a <> b do
if a > b then
a := a - b
else
b := b - a;
writeln('NOD = ', a);
end.