Ну тут совсем всё просто: Смотрим на входные данные, исходное слово "апельсин", а зашифрованное "твчюодыа". Вспоминаем принцип шифра "Цезаря", что бы зашифровать текст, необходимо определить сдвиг по алфавиту, так называемый "корень". То есть, если корень равен 3, то все буквы А в исходном послании заменятся на (сдвигаемся по алфавиту на 3 буквы вправо) букву Г. Но что делать если мы шифруем букву Ю? Считаем сдвиг Ю - Я это 1, а дальше просто "прыгаем" в начало алфавита Я - А это 2, А - Б это 3, следовательно при ключе 3 буква Ю станет буквой Б. В нашем случаи все что нужно, так это проверить, на сколько букв сместилась буква "а", в слове "апельсин", что превратилась в букву "т", в слове "твчюодыа". Смотрим по даному алфавиту и считаем количество сдвигов, это будет 19. Теперь провевим, что если сдвинуть остальные буквы в слове апельсин на 19 символов вправо по алфавиту, если они будут соответствовать зашифрованым, то мы нашли корень правильно. В нашем случаи именно так и есть, то есть ответ задачи ключь = 19.
kozak8824
21.10.2022
Program lab3;const n=10; {количество элементов в массиве} var A:array [1..n] of real; {объявление массива А} i:byte; {переменная для циклов} b:boolean; {идентификатор роста}begin writeln('vvedite tselie chisla matrici A[',n,',',n,']'); for i:=1 to n do begin {циклвводавмассив} write('A[',i,'] = '); readln(A[i]); end; writeln; writeln('matraca imeet vid: '); for i:=1 to n do begin {циклвыводамассива} write(A[i]:3:3,' '); end; writeln; b := true; for i:=1 to n-1 do {цикл определения роста} if (A[i] > A[i+1]) then begin {если текущий больше следующего} b := false; {значит масив невозростающий} break; end; if (b) then writeln('Masiv A - vozrostaushaya posledovatelnost''') else writeln('Masiv A - ne vozrostaushaya posledovatelnost'''); readln;
kovansckaya201313
21.10.2022
Var A:array[1..4] of integer; i,j,R,P:integer; function HOD(c,b:integer):integer; begin while c<>b do if c>b then c:=c-b else b:=b-c; HOD:=c; end; function HOK(c,b, RR:integer):integer; begin if ((c mod b=0) or (b mod c=0)) and ((c div b > 1) or (b div c > 1)) then begin if c>b then HoK:=c else HOK:=b; end else HOK:=(c*b) div RR; end; begin A[1]:=36; A[2]:=54; A[3]:=18; A[4]:=15; P:=1; R:=HOD(A[1],A[2]); P:=HOK(A[1], A[2], R); for i:=3 to 4 do begin R:=HOD(R, A[i]); P:=HOK(P, A[i],R); end; writeln('HOK = ',P); end.
Смотрим на входные данные, исходное слово "апельсин", а зашифрованное "твчюодыа".
Вспоминаем принцип шифра "Цезаря", что бы зашифровать текст, необходимо определить сдвиг по алфавиту, так называемый "корень". То есть, если корень равен 3, то все буквы А в исходном послании заменятся на (сдвигаемся по алфавиту на 3 буквы вправо) букву Г. Но что делать если мы шифруем букву Ю? Считаем сдвиг Ю - Я это 1, а дальше просто "прыгаем" в начало алфавита Я - А это 2, А - Б это 3, следовательно при ключе 3 буква Ю станет буквой Б.
В нашем случаи все что нужно, так это проверить, на сколько букв сместилась буква "а", в слове "апельсин", что превратилась в букву "т", в слове "твчюодыа".
Смотрим по даному алфавиту и считаем количество сдвигов, это будет 19. Теперь провевим, что если сдвинуть остальные буквы в слове апельсин на 19 символов вправо по алфавиту, если они будут соответствовать зашифрованым, то мы нашли корень правильно.
В нашем случаи именно так и есть, то есть ответ задачи ключь = 19.