Для зашифрования сообщения используется неизвестная последовательность целых чисел. Каждую букву сообщения предварительно заменили ее порядковым номером в алфавите (А на 1, …, Я на 33). Затем прибавляли к нему очередной член по...

Для зашифрования сообщения используется неизвестная последовательность целых чисел.  Каждую букву сообщения предварительно заменили ее порядковым номером в алфавите (А на 1, …, Я на 33). Затем прибавляли к нему очередной член последовательности и, наконец, выписывали остаток от деления этой суммы на 33.  Получилось вот что: 30  11  7  24  29  11  15  18  15  32  9  3  10  1  26  24  Если бы при зашифровании того же самого сообщения вместо сложения с членами последовательности производили вычитание, то получилось бы  6  24  31  10  24  27  20  12  5  13  15  23  21  16  19  31  Найдите исходное сообщение.  Ответ вводите прописными буквами
Гость
Ответ(ы) на вопрос:
Гость
Обозначим номер зашифрованной буквы в русском алфавите через n, a очередной член последовательности - через a[k].   Тогда в первом массиве A на соответствующем i-м месте находится элемент A[i] = (n + a[k]) mod 33, а во втором массиве B - на i-м месте находится элемент B[i] = (n - a[k]) mod 33.   Складывая почленно оба массива и учитывая, что x mod m + y mod m = (x + y) mod m, получим на i-m месте нового массива суммы AB: AB[i] = A[i] + B[i] = (n + a[k]) mod 33 + (n - a[k]) mod 33 = ((n + a[k]) + (n - a[k])) mod 33 = 2n mod 33, для всех индексов i в массиве AB. То есть, неизвестные нам члены последовательности a[k] взаимно уничтожаются при формировании массива AB.   Стало быть, AB[i] = 2n mod 33, и нужно найти N[i] для каждого индекса i в массиве AB.   Находим N[i] для каждого индекса i следующим образом:   Если AB[i] - четное, то N[i] = AB[i]/2, в противном случае - N[i] = (AB[i] + 33)/2.   Полученное таким образом число N[i] будет меньше, чем 33.   Т.е. для нахождения исходного сообщения M нужно для каждого порядкового номера N[i] найти соответствующую ему букву S[N[i]] в русском алфавите, т.е. M[i] = S[N[i]] для каждого индекса i в массиве.   Окончательно получим для нашего случая:   Исходные массивы:   A = 30  11  7  24  29  11  15  18  15  32  9  3  10  1  26  24   B = 6  24  31  10  24  27  20  12  5  13  15  23  21  16  19  31   Массив A + B:   AB = 36 35 38 34 53 38 35 30 20 45 24 26 31 17 45 55   Массив (A + B) mod 33:   AB mod 33 = 3 2 5 1 20 5 2 30 20 12 24 26 31 17 12 22   Массив N[i]:   N = 18 1 19 17 10 19 1 15 10 6 12 13 32 25 6 11   Русский алфавит S с соответствующей ему нумерацией букв:   А-1, Б-2, В-3, Г-4, Д-5, Е-6, Ё-7, Ж-8, З-9, И-10, Й-11, К-12, Л-13, М-14, Н-15, О-16, П-17, Р-18, С-19, Т-20, У-21, Ф-22, Х-23, Ц-24, Ч-25, Ш-26, Щ-27, Ъ-28, Ы-29, Ь-30, Э-31, Ю-32, Я-33.   Итак, исходное сообщение M таково: РАСПИСАНИЕКЛЮЧЕЙ   Была бы такая возможность, - с удовольствием написал бы это и прописными буквами :-)
Не нашли ответ?
Ответить на вопрос
Похожие вопросы