Дан массив длины n, который состоит из целых натуральных чисел. все числа в массиве различные. вам нужно посчитать количество троек i, j, k, i≠j, i≠k и a( i справа снизу от a) * a(j справа снизу от a) = a(k справа снизу от a)^2
Комментарий: несложно заметить, что поразрядная конъюнкция для единичных битов не меняет значение составляющей IP-адреса, а для нулевых битов даёт только значение 0. Поэтому решение задачи можно у Так как 25510 = 111111112, то очевидно, что соответствующие составляющие IP-адреса не будут изменены, и напрасно переводить их из системы в систему не стоит. А нулевая составляющая IP-адреса даст значение 0.
Поэтому, перевод в двоичный код имел смысл только для третьего байта IP-адреса. Посмотрим ещё на одном примере.
Задание 2. По заданным IP-адресу сети и маске определите адрес сети:
IP-адрес: 145.92.137.88 Маска: 255.255.240.0
1. Получаем двоичный код третьей составляющей IP-адреса: 13710 = 100010012
2. Получаем двоичный код третьей составляющей маски: 24010 = 111100002
3. Применяем к ним операцию поразрядной конъюнкции, получим: 100000002
4. Записываем полученный адрес в десятичном формате 100000002 =12810
5. Четвёртая составляющая IP-адреса будет равна 0.
Таким образом, IP-адрес сети: 145.92.128.0
ответ:145.92.128.0
Задание 3. Маска подсети 255.255.255.240 и IP-адрес компьютера в сети 162.198.0.44. Определить порядковый номер компьютера в сети.
Так как на номер компьютера указывают нулевые биты маски, то имеет смысл рассматривать только последнюю составляющую маски - 240 и соответствующую ей составляющую IP-адреса - 44.
1. Получаем двоичный код четвёртой составляющей IP-адреса: 4410 = 001011002
2. Получаем двоичный код четвёртой составляющей маски: 24010 = 111100002
3. На номер компьютера указывают нулевые биты, поэтому 1100 - это номер компьютера. Переведём это число в двоичную систему, получим 12.
ответ: порядковый номер компьютера в сети 12.
Задачи для самостоятельного решения.
1) По заданным IP-адресу сети и маске определите адрес сети:
IP-адрес: 217.9.142.131 Маска: 255.255.192.0
При записи ответа выберите из приведенных в таблице чисел 4 фрагмента четыре элемента IP-адреса и запишите в нужном порядке соответствующие им буквы без точек.
A
B
C
D
E
F
G
H
0
9
16
64
128
142
192
217
2) По заданным IP-адресу сети и маске определите адрес сети:
IP-адрес: 12.16.196.10 Маска: 255.255.224.0
При записи ответа выберите из приведенных в таблице чисел 4 фрагмента четыре элемента IP-адреса и запишите в нужном порядке соответствующие им буквы без точек.
A
B
C
D
E
F
G
H
192
0
255
12
248
16
196
128
3) По заданным IP-адресу сети и маске определите адрес сети:
IP-адрес: 217.16.246.2 Маска: 255.255.252.0
При записи ответа выберите из приведенных в таблице чисел 4 фрагмента четыре элемента IP-адреса и запишите в нужном порядке соответствующие им буквы без точек.
A
B
C
D
E
F
G
H
244
217
16
2
255
252
246
0
4) Маска подсети 255.255.240.0 и IP-адрес компьютера в сети 162.198.75.44. Определить порядковый номер компьютера в сети.
5) Маска подсети 255.255.255.224 и IP-адрес компьютера в сети 162.198.0.157. Определить порядковый номер компьютера в сети.
6) Маска подсети 255.255.255.128 и IP-адрес компьютера в сети 122.191.12.189. Определить порядковый номер компьютера в сети.
7) Для некоторой подсети используется маска 255.255.252.0. Сколько различных адресов компьютеров допускает эта маска? (На практике два из возможных адресов не используются для адресации узлов сети: адрес сети, в котором все биты, отсекаемые маской, равны 0, и широковещательный адрес, в котором все эти биты равны 1.)
8) Для некоторой подсети используется маска 255.255.254.0. Сколько различных адресов компьютеров теоретически допускает эта маска, если два адреса (адрес сети и широковещательный) не используют?
Как ч понял сортировка по неубыванию это сортировка по возрастанию. То есть легкие элементы всплывают наверх, а тяжелые перемещаются вниз:
//Pascal const m = 1000 var arr: array[1..m] of integer; n,i, j, k: integer; begin readln(n); write ('Исходный массив: '); for i := 1 to n do begin readln(arr[i]); end; //сортировка методом пузырька for i := 1 to n-1 do for j := 1 to n-i do if arr[j] > arr[j+1] then begin k := arr[j]; arr[j] := arr[j+1]; arr[j+1] := k end;
write ('Отсортированный массив: '); for i := 1 to n do write (arr[i]:4); end.
Алгоритм сортировки на классическом языке программирования С
# define SWAP(A,B) {A=A^B;B=A^B;A=A^B;} void bubblesort(int A[], int n) { int i, j; for(i = n-1 ; i > 0 ; i--) { for(j = 0 ; j < i ; j++) { if( A[j] > A[j+1] ) SWAP(A[j],A[j+1]); } } }
Объяснение:
ответ:10.8.224.0
Комментарий: несложно заметить, что поразрядная конъюнкция для единичных битов не меняет значение составляющей IP-адреса, а для нулевых битов даёт только значение 0. Поэтому решение задачи можно у Так как 25510 = 111111112, то очевидно, что соответствующие составляющие IP-адреса не будут изменены, и напрасно переводить их из системы в систему не стоит. А нулевая составляющая IP-адреса даст значение 0.
Поэтому, перевод в двоичный код имел смысл только для третьего байта IP-адреса. Посмотрим ещё на одном примере.
Задание 2. По заданным IP-адресу сети и маске определите адрес сети:
IP-адрес: 145.92.137.88 Маска: 255.255.240.0
1. Получаем двоичный код третьей составляющей IP-адреса: 13710 = 100010012
2. Получаем двоичный код третьей составляющей маски: 24010 = 111100002
3. Применяем к ним операцию поразрядной конъюнкции, получим: 100000002
4. Записываем полученный адрес в десятичном формате 100000002 =12810
5. Четвёртая составляющая IP-адреса будет равна 0.
Таким образом, IP-адрес сети: 145.92.128.0
ответ:145.92.128.0
Задание 3. Маска подсети 255.255.255.240 и IP-адрес компьютера в сети 162.198.0.44. Определить порядковый номер компьютера в сети.
Так как на номер компьютера указывают нулевые биты маски, то имеет смысл рассматривать только последнюю составляющую маски - 240 и соответствующую ей составляющую IP-адреса - 44.
1. Получаем двоичный код четвёртой составляющей IP-адреса: 4410 = 001011002
2. Получаем двоичный код четвёртой составляющей маски: 24010 = 111100002
3. На номер компьютера указывают нулевые биты, поэтому 1100 - это номер компьютера. Переведём это число в двоичную систему, получим 12.
ответ: порядковый номер компьютера в сети 12.
Задачи для самостоятельного решения.
1) По заданным IP-адресу сети и маске определите адрес сети:
IP-адрес: 217.9.142.131 Маска: 255.255.192.0
При записи ответа выберите из приведенных в таблице чисел 4 фрагмента четыре элемента IP-адреса и запишите в нужном порядке соответствующие им буквы без точек.
A
B
C
D
E
F
G
H
0
9
16
64
128
142
192
217
2) По заданным IP-адресу сети и маске определите адрес сети:
IP-адрес: 12.16.196.10 Маска: 255.255.224.0
При записи ответа выберите из приведенных в таблице чисел 4 фрагмента четыре элемента IP-адреса и запишите в нужном порядке соответствующие им буквы без точек.
A
B
C
D
E
F
G
H
192
0
255
12
248
16
196
128
3) По заданным IP-адресу сети и маске определите адрес сети:
IP-адрес: 217.16.246.2 Маска: 255.255.252.0
При записи ответа выберите из приведенных в таблице чисел 4 фрагмента четыре элемента IP-адреса и запишите в нужном порядке соответствующие им буквы без точек.
A
B
C
D
E
F
G
H
244
217
16
2
255
252
246
0
4) Маска подсети 255.255.240.0 и IP-адрес компьютера в сети 162.198.75.44. Определить порядковый номер компьютера в сети.
5) Маска подсети 255.255.255.224 и IP-адрес компьютера в сети 162.198.0.157. Определить порядковый номер компьютера в сети.
6) Маска подсети 255.255.255.128 и IP-адрес компьютера в сети 122.191.12.189. Определить порядковый номер компьютера в сети.
7) Для некоторой подсети используется маска 255.255.252.0. Сколько различных адресов компьютеров допускает эта маска? (На практике два из возможных адресов не используются для адресации узлов сети: адрес сети, в котором все биты, отсекаемые маской, равны 0, и широковещательный адрес, в котором все эти биты равны 1.)
8) Для некоторой подсети используется маска 255.255.254.0. Сколько различных адресов компьютеров теоретически допускает эта маска, если два адреса (адрес сети и широковещательный) не используют?
Проверь себя. ответы.
Номер задания
1
2
3
4
5
6
7
8
ответ
НВЕА
DFAB
BCAH
2860
29
61
1022
29
Отправить по электронной почте
Написать об этом в блоге
Опубликовать в Twitter
Опубликовать в Facebook
Поделиться в Pinterest
//Pascal
const m = 1000
var
arr: array[1..m] of integer;
n,i, j, k: integer;
begin
readln(n);
write ('Исходный массив: ');
for i := 1 to n do begin
readln(arr[i]);
end;
//сортировка методом пузырька
for i := 1 to n-1 do
for j := 1 to n-i do
if arr[j] > arr[j+1] then begin
k := arr[j];
arr[j] := arr[j+1];
arr[j+1] := k
end;
write ('Отсортированный массив: ');
for i := 1 to n do
write (arr[i]:4);
end.
Алгоритм сортировки на классическом языке программирования С
# define SWAP(A,B) {A=A^B;B=A^B;A=A^B;}
void bubblesort(int A[], int n)
{
int i, j;
for(i = n-1 ; i > 0 ; i--)
{ for(j = 0 ; j < i ; j++)
{
if( A[j] > A[j+1] ) SWAP(A[j],A[j+1]);
}
}
}