В изначально сообщение содержало 18 символов,
после перекодировки получим 288 бит, решаем уравнение:
288=128+x*16
x = 10
Ответ: 10 символов
P = 1, i = 1
<h2>1 цикл</h2>
P = P · i = 1 · 1 = 1
i = i + 1 = 1 + 1 = 2
2 > 3 ? false
<h2>2 цикл</h2>
P = P · i = 1 · 2 = 2
i = i + 1 = 2 + 1 = 3
3 > 3 ? false
<h2>3 цикл</h2>
<u>P = P · i = 2 · 3 = 6</u>
i = i + 1 = 3 + 1 = 4
4 > 3 ? True
Выход из цикла
<h2>Ответ</h2>
B
Введите смещение: 1
Делу время - потехе час | Еёмф гсёна - рпуёцё шбт
С Новым годом | Т Опгьн дпепн
Первое сентября | Рёсгпё тёоуавса
Исходный код на Python3:
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
TL2I = dict(zip("АБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ",range(34)))
I2TL = dict(zip(range(34),"АБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ"))
SL2I = dict(zip("абвгдеёжзийклмнопрстуфхцчшщъыьэюя",range(34)))
I2SL = dict(zip(range(34),"абвгдеёжзийклмнопрстуфхцчшщъыьэюя"))
phrases = ('Делу время - потехе час', 'С Новым годом', 'Первое сентября')
key = int(input("Введите смещение: "))
for phrase in phrases:
ciphered = ''
for c in phrase:
if not c.isalpha():
ciphered += c
if c.islower():
ciphered += I2SL[ (SL2I[c] + key) % 33 ]
if c.isupper():
ciphered += I2TL[ (TL2I[c] + key) % 33 ]
print("{} | {}".format(phrase, ciphered))
Документы , разную инфу ( про разные новости _)