Согласно проведенным исследованиям шифрование — это изменения сообщения или другого документа, обеспечивающее искажение (сокрытие) его содержимого. (Кодирование – это преобразование обычного, понятного, текста в код. При этом подразумевается, что существует взаимно однозначное соответствие между символами текста(данных, чисел, слов) и символьного кода – в этом принципиальное отличие кодирования от шифрования. Часто кодирование и шифрование считают одним и тем же, забывая о том, что для восстановления закодированного сообщения, достаточно знать правило подстановки(замены). Для восстановления же зашифрованного сообщения помимо знания правил шифрования, требуется и ключ к шифру. Ключ понимается нами как конкретное секретное состояние параметров алгоритмов шифрования и дешифрования. Знание ключа дает возможность прочтения секретного сообщения. Впрочем, как вы увидите ниже, далеко не всегда незнание ключа гарантирует то, что сообщение не сможет прочесть посторонний человек.). Шифровать можно не только текст, но и различные компьютерные файлы – от файлов баз данных и текстовых процессоров до файлов изображений.
Да я с копировал но это правильный ответ
...А если интересует решение на классическом Паскале, предлагаю просто поддерживать текущее, предыдущее и пред-предыдущее значения в ряду, и в цикле обновлять ответ.
Обрати внимание! longint может хранить значения только до
, поэтому конкретно в этой программе вывод будет достоверным только для N ≤ 46. Ты можешь сделать текущую, предыдущую и пред-предыдущую переменные типа int64, и тогда максимальное значение N возрастёт до 92. Для бОльших N тебе придётся писать длинное сложение.
Код
var
i, n, pred, predpred, cur: longint;
begin
read(n);
if n = 1 then writeln(1)
else if n = 2 then writeln('1 1')
else write('1 1 ');
if n < 3 then exit;
pred := 1;
predpred := 1;
for i := 3 to n do
begin
cur := pred + predpred;
write(cur, ' ');
predpred := pred;
pred := cur;
end;
writeln;
end.