Переведем значение маски и ip-адреса компьютера в двоичную систему:
255.255.252.0₁₀ = 11111111.11111111.11111100.00000000 ₂
110.10.110.10₁₀ = 01101110.00001010.01101110.00001010₂
Единицы в маске подсети относятся к адресу сети, а нули - к адресу узла, поэтому единицы отбрасываем и рассматриваем нули.
Если сравнить побитно маску и адрес узла, то соответствующие этим нулям биты в ip-адресе будут являться порядковым номером компьютера в сети: 1000001010₂ = 522 ₁₀
ответ: Порядковый номер компьютера в сети: 522
Объяснение:
или кратко:
beginvar Rs := ReadArrInteger(3);Println('послед:', Rs.Sum);Println('парал:', 1/Rs.Sum(r->1/r));end.Пример работы:
begin
var n := ReadInteger('n=');
if n >= 1000 then Print('одна тысяча')
else
begin
var d1 := n mod 10;
var d2 := n div 10 mod 10;
var d3 := n div 100;
var s := '';
case d3 of
1: s := 'сто';
2: s := 'двести';
3: s := 'триста';
4: s := 'четыреста';
5: s := 'пятьсот';
6: s := 'шестьсот';
7: s := 'семьсот';
8: s := 'восемьсот';
9: s := 'девятьсот';
end;
if d2 = 1 then
begin
case d1 of
0: s += ' десять';
1: s += ' одиннадцать';
2: s += ' двенадцать';
3: s += ' тринадцать';
4: s += ' четырнадцать';
5: s += ' пятнадцать';
6: s += ' шестнадцать';
7: s += ' семнадцать';
8: s += ' восемнадцать';
9: s += ' девятнадцать';
end;
TrimLeft(s).Println
end
else
begin
case d2 of
0: s += '';
2: s += ' двадцать';
3: s += ' тридцать';
4: s += ' сорок';
5: s += ' пятьдесят';
6: s += ' шестьдесят';
7: s += ' семьдесят';
8: s += ' восемьдесят';
9: s += ' девяносто';
end;
s := TrimLeft(s);
case d1 of
1: s += ' один';
2: s += ' два';
3: s += ' три';
4: s += ' четыре';
5: s += ' пять';
6: s += ' шесть';
7: s += ' семь';
8: s += ' восемь';
9: s += ' девять';
end;
TrimLeft(s).Println
end
end
end.