===== PascalABC.NET =====
begin
var x := ArrRandom(20, -99, 99);
x.Println;
var (imax, imin) := (x.IndexMax, x.IndexMin);
var t := (x.First + x.Last) div 2;
(x[imax], x[imin]) := (t, t);
x.Println;
x.Sum.Print
end.
Var
c: integer;
begin
readln(c);
writeln(sqr(c mod 10));
end.
Переведем 57 в двоичное:
57 / 2 = 28 (в остатке 1)
28 / 2 = 14 (в остатке 0)
14 / 2 = 7 (в остатке 0)
7 / 2 = 3 (в остатке 1)
3 / 2 = 1 (в остатке 1)
1 / 2 = 0 (в остатке 1)
57(10) = 111001(2)
Переведем 48 в двоичное:
48 / 2 = 24 (в остатке 0)
24 / 2 = 12 (в остатке 0)
12 / 2 = 6 (в остатке 0)
6 / 2 = 3 (в остатке 0)
3 / 2 = 1 (в остатке 1)
1 / 2 = 0 (в остатке 1)
48(10) = 110000(2)
111001
??????
______
110000
Первый бит в обоих случаях равен 1, значит, первый бит маски тоже равен 1.
Второй бит в обоих случаях равен 1, значит, второй бит маски тоже равен 1.
Третий бит в IP-адресе равен 1, а в адресе сети равен 0, значит, третий бит маски равен 0.
Если третий бит маски равен нулю, то все остальные биты маски тоже равны нулю.
Но при переводе десятичных чисел в двоичные мы получили 6-битовое двоичное число, а нам нужно 8-битовое. Значит, слева добавляем два нуля.
00111001
????????
________
00110000
Свойство маски гласит, что в ней сначала до некоторого разряда записаны только единицы, а затем только нули. Значит, первый и второй бит в новом представлении маски равны 1.
Искомая маска: 11110000(2).
Переведем 11110000 в десятичное число.
(1*2^7)+(1*2^6)+(1*2^5)+(1*2^4)+(0*2^3)+(0*2^2)+(0*2^1)+(0*2^0)=128+64+32+16=240
Ответ: 240(10)
154 в 8 → 4*8∧0+5*8∧1+1*8∧2=4*1+40+64=108 в 10
Попробуем сделать сортировку букв латинского алфавита.
const
n = 20;
var
a: array[1..n] of char;
i, j: integer;
t: char;
begin
Randomize;
Writeln('Исходный массив');
for i := 1 to n do
begin
a[i] := Chr(random(26)+Ord('A'));
Write(a[i],' ')
end;
Writeln;
for i := 1 to n-1 do
for j := 1 to n-i do
if a[j] > a[j+1] then
begin t := a[j]; a[j] := a[j+1]; a[j+1] := t end;
Writeln('Отсортированный по возрастанию массив');
for i := 1 to n do Write(a[i],' ');
Writeln
end.
<em><u>Тестовое решение:</u></em>
Исходный массив
G Z L H X A R E C F G X O T C L N U D L
Отсортированный по возрастанию массив
A C C D E F G G H L L L N O R T U X X Z