// PascalABC.NET 3.3, сборка 1634 от 14.02.2018 // Внимание! Если программа не работает, обновите версию!
procedure Fib(n:integer; var r:sequence of integer); begin if n<1 then exit; // нечего глупости задавать case n of 1: r:=Seq(1); 2: r:=Seq(1,1); else begin r:=Seq(1,1); var (p1,p2):=(1,1); var p:integer; loop n-2 do begin p:=p1+p2; r:=r+Seq(p); (p1,p2):=(p2,p) end end end end;
begin var s:sequence of integer; var n:=ReadInteger('n='); Fib(n,s); s.Println end.
// Внимание! Если программа не работает, обновите версию!
procedure Fib(n:integer; var r:sequence of integer);
begin
if n<1 then exit; // нечего глупости задавать
case n of
1: r:=Seq(1);
2: r:=Seq(1,1);
else begin
r:=Seq(1,1);
var (p1,p2):=(1,1);
var p:integer;
loop n-2 do begin
p:=p1+p2;
r:=r+Seq(p);
(p1,p2):=(p2,p)
end
end
end
end;
begin
var s:sequence of integer;
var n:=ReadInteger('n=');
Fib(n,s);
s.Println
end.
Пример
n= 8
1 1 2 3 5 8 13 21
(Бриллиантовая рука)
Да нам, царям, молоко нужно выдавать за вредность!
(Иван Васильевич меняет профессию)
Этот нехороший человек предаст нас при первой же опасности!
(Джентльмены удачи)
Бамбарбия! Киргуду! Шутка!
(Кавказская пленница)
Шурик, это же не наш метод!
(Операция Ы и другие приключения Шурика)
Восток – дело тонкое.
Белое солнце пустыни
Утром деньги – вечером стулья, вечером деньги – ночью стулья…
(двенадцать стульев)
он, конечно, виноват, но он… не виноват…
(Берегись автомобиля!)