program SortV;
const
n = 100; // количество элементов в массиве
r = 1000; // максимальное значение числа
w = 4; // ширина поля для вывода на экран
var
a: Array [1..n] of Integer;
i, j, jmin, atmp: Integer;
begin
Randomize;
for i := Low (a) to High (a) do begin
a [i] := Random (r);
Write (a [i] :w);
end;
for i := Low (a) to High (a) do begin
jmin := i;
for j := i + 1 to High (a) do begin
if a [j] < a [jmin] then // возрастание и убывание меняется знаком "<" или ">" в этом операторе
jmin := j;
end;
atmp := a [i];
a [i] := a [jmin];
a [jmin] := atmp;
end;
WriteLn; WriteLn;
for i := Low (a) to High (a) do begin
Write (a [i] :w);
end;
ReadLn;
end.
program SortU;
const
n = 100; // количество элементов в массиве
r = 1000; // максимальное значение числа
w = 4; // ширина поля для вывода на экран
var
a: Array [1..n] of Integer;
i, j, jmax, atmp: Integer;
begin
Randomize;
for i := Low (a) to High (a) do begin
a [i] := Random (r);
Write (a [i] :w);
end;
for i := Low (a) to High (a) do begin
jmax := i;
for j := i + 1 to High (a) do begin
if a [j] > a [jmax] then // возрастание и убывание меняется знаком "<" или ">" в этом операторе
jmax := j;
end;
atmp := a [i];
a [i] := a [jmax];
a [jmax] := atmp;
end;
WriteLn; WriteLn;
for i := Low (a) to High (a) do begin
Write (a [i] :w);
end;
ReadLn;
end.
Поделитесь своими знаниями, ответьте на вопрос:
Отгадайте чёрный ящик. вход: . 2. 31 26 260 345 6782 94513 519374 выход: 10 1101 1022 102200 110220 22033010 3302200111 200133110302
Подсчитаем количество цифр на каждом входе/выходе, и заметим, что на выходе цифр всегда ровно вдвое больше, чем на входе. Можно сделать предположение, что каждая цифра на входе шифруется комбинацией из двух цифр на выходе.
Проверяем наше предположение:
2 -> 10 (первый вход). То же самое верно для 3-го и 4-го входов, и для последней цифры 6-го.
Проверяя другие числа, убедимся, что предположение верное.
Значит, чёрный ящик шифрует числа по схеме:
0 -> 00
1 -> 01
2 -> 10
3 -> 11
4 -> 02
5 -> 20
6 -> 22
7 -> 03
8 -> 30
9 -> 33