...А если интересует решение на классическом Паскале, предлагаю просто поддерживать текущее, предыдущее и пред-предыдущее значения в ряду, и в цикле обновлять ответ.
Обрати внимание! 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.
C6 = C3+$D$2
E7 = 2*D$2
Объяснение:
B5 = B2+$D$2 - ячейка D2 находится в абсолютной заморозке (не изменяется при копировании)
Ячейка B5 была скопирована в ячейку C6 (сдвинута на единицу вправо и вниз) ⇒ B2 заменилось на C3
D5 =2*C$2 - ячейка C2 находится в смешанной заморозке (будет изменяться только буква столбца, номер строки находится в заморозке)
Ячейка D5 была скопирована в E7 (сдвинута на единицу вправо и на две единицы вниз) ⇒ буква столбца изменится на D, а номер строки останется быть равным двум