Var
A:array[1..30] of integer;
N,k,i:byte;
Min,Max:integer;
Begin
ReadLn(N);
k:=0;
For i:= 1 to N do
Begin
Read(A[i]);
if A[i]<= 30 then k:=k+1
End;
Max:=A[1];
Min:=A[1];
For i:= 2 to N do
Begin
if A[i]>Max then Max:=A[i];
if A[i]<Min then Min:=A[i];
End;
WriteLn(Max-Min,' ',k);
End.
Переводим в двоичную систему счисления
592 / 2 = 296 | 0 в остатке
296 / 2 = 148 | 0
148 / 2 = 74 | 0
74 / 2 = 37 | 0
37 / 2 = 18 | 1
18 / 2 = 9 | 0
9 / 2 = 4 | 1
4 / 2 = 2 | 0
2 / 2 = 1 | 0
1
затем, пишем нули и единицы снизу-вверх
1001010000
и приписываем недостающие нули
0000 0010 0101 0000 (32 бита)
так же это число не является отрицательным,
поэтому вычислять дополнительный
(или обратный код) не нужно
Ответ: 0000001001010000
Он. Не чем не отличаются просто где или что то будет разное