Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

подскажите пожалуйста как рассшифровываеться текст зашифрованный по шифру "лесенка"

~~~melody ~~~ Ученик (89), закрыт 14 лет назад
Допустим этот:
СААИАЕЬДЛЬЩКТСЕМИБСДОЧКЕЬХЕОЕИИАСЕНОБИОННРЙМРСНЦТЗОЛ ЕВНЦОАСПНТФИЕОСЖСАФИСНЯЬОЕОИМПТНПТИАТЯВЮЙМР
Лучший ответ
Олег Алексеев Мастер (1910) 14 лет назад
procedure TForm1.Button1Click(Sender: TObject);
var key,i,j:integer;
s,so:string;
begin
memo1.Clear;
key:=strtoint(edit2.Text);
edit2.Text:=inttostr(strtoint(edit2.Text)+1);
s:=edit1.Text;
so:='';
for i:=1 to key do begin
for j:=0 to length(s)
if ((j*key)+i)<=length(s) then
so:=so+s[(j*key)+i];
end;
Memo1.lines.Add(so);
end;

Собственно прога, но в твоей строке есть пробел, долго не мог понять в чем косяк)
Остальные ответы
Мария Михайлова Мастер (2316) 14 лет назад
СИСТЕМАБЕЗОПАСНОСТИДОЛЖНАОБЕСПЕЧИВАТЬКОНФИДЕНЦИАЛЬНОСТЬХРАНЯЩЕЙСЯВКОМПЬЮТЕРНОЙСИСТЕМЕИНФОРМАЦИИ

Берем строку шифра и пытаемся раскодировать ее с шагом лесенки step: сначала читаем буквы 0, step, 2*step, ..; потом 1, step+1, 2*step+1,...и так, пока строка не закончится. Перебором разных значений step получаем разные строки и смотрим, какая из них самая правдоподобная. Здесь получилось step=16. Код на C++:

#include <iostream>

using namespace std;

int main(){
int step,i,j;
string text = "СААИАЕЬДЛЬЩКТСЕМИБСДОЧКЕЬХЕОЕИИАСЕНОБИОННРЙМРСНЦТЗОЛЕВНЦОАСПНТФИЕОСЖСАФИСНЯЬОЕОИМПТНПТИАТЯВЮЙМР";
for (step=2; step<20; step++)
{ cout << step << endl;
for (i=0; i
Похожие вопросы