Better late than never - Лучше поздно чем никогда
Объяснение:
Если четные и нечетные символы зашифрованы разными ключами, то вначале нужно привести их к одному ключу. Известно что разность между k1 и k2 составляет 3 символа. Значит нечетный ключ больше четного на 3. Например если для нечетных символов использовался сдвиг 5, то для четных будет использован сдвиг 2 (потому что 5-3=2).
Что бы привести фразу к одному ключу нужно все четные символы заменить на символы, стоящие на 3 позиции дальше по алфавиту.
W - не трогаем
W- меняем на Z
O - не трогаем
L - меняем на O
Z - не трогаем
I - меняем на L
G - не трогаем
S - меняем на V
O - не трогаем
W - меняем на Z
O - не трогаем
Z - меняем на C
V - не трогаем
F - меняем на I
I - не трогаем
W - меняем на Z
Q - не трогаем
W - меняем на Z
M - не трогаем
Получаем новую фразу:
W Z O O Z L G V O Z O C V I I Z Q Z M
где нечетные и четные символы зашифрованы одним и тем же ключом.
Поскольку в английском алфавите всего 26 букв, то число ключей составляет всего 25 штук, после чего они просто начнут повторятся.
Используя новую полученную фразу и английский алфавит пробуем заменить все буквы на следующие по порядку со сдвигом 1. Получаем текст
XAPPAMHWPAPDWJJARAN - бессмыслица. Тогда пробуем заменить текст со сдвигом на 2 буквы. получим фразу:
YBQQBNIXQBQEXKKBSBO - тоже не имеет смысла.
Сдвиг на 3 и на 4 буквы дает соответственно фразы
ZCRRCOJYRCRFYLLCTCP
ADSSDPKZSDSGZMMDUDQ
что тоже не имеет смысла.
Сдвиг на 5 символов дает фразу
BETTEQLATETHANNEVER - что очень похоже на английские слова (с одной ошибкой).
Делим полученную фразу на слова
BETTEQ LATE THAN NEVER
и приходим к выводу, что зашифровано было английское выражение
Better late than never - Лучше поздно чем никогда.
PS. Единственное, тут есть одна ошибка, вместо слова BETTER после расшифровки получаем слово BETTEQ. Не знаю чем это объяснить. В исходной фразе на этом месте стоит символ I. После приведения к одному коду на этом месте появляется символ L , который стоит на 3 позиции дальше от I. При расшифровке, вместо L получаем символ Q, который стоит на 5 символов дальше L и именно это Q попадает в слово BETTEQ. Скорее всего тут ошибка в условии задачи.
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.
Микропроцессор (устройство, отвечающее за выполнение арифметических, логических операций и операций — процессор управления, записанных в машинном коде), реализованный в виде одной микросхемы или комплекта нескольких специализированных микросхем (в отличие от реализации процессора в виде электрической схемы на элементной базе общего назначения или в виде программной модели).