Предмет: Информатика, автор: coolkate1

Последовательность чисел Фибоначчи задается рекуррентным соотношением:
F(0) = 1
F(1) = 2
F(n–2) + F(n–1)=F(n,n>1)
Напишите программу на паскале, которая вычисляет номер заданного числа Фибоначчи

Ответы

Автор ответа: pinguinbird
0

function fibonacchi(x:integer):integer;

// функция возвращает порядковый номер введённого числа

// ряда Фибоначчи. Если число не является элементом

// из данного ряда, то функция возвращает -1

var counter:integer = 2;

   s1,s2,s3:integer;

begin

   s1 := 0;

   s2 := 1;

   s3 := 0;

   if x = 0 then fibonacchi:=1

   else if x = 1 then fibonacchi:=2

   else begin

       while s3 < x do begin

           s3 := s1 + s2;

           s1 := s2;

           s2 := s3;

           inc(counter);

       end;

       if s3 = x then fibonacchi:=counter

       else fibonacchi:=-1;

   end;

end;

begin

   write(fibonacchi(13));

end.

Похожие вопросы