Pascal. Последовательность чисел Фибоначчи
Мы используем cookie-файлы, чтобы получить статистику, которая помогает нам улучшить сервис для Вас с целью персонализации сервисов и предложений. Вы можете прочитать подробнее о cookie-файлах или изменить настройки браузера. Продолжая пользоваться сайтом без изменения настроек, вы даёте согласие на использование ваших cookie-файлов.
speech bubble

Pascal. Последовательность чисел Фибоначчи

Последовательность чисел Фибоначчи

 

Задание: Написать алгоритм последовательности чисел Фибоначчи на языке Pascal.

Дано:

Pascal(Паскаль) - язык программирования

number - число последовательности Фибоначчи

n0 - предыдущее число последовательности

n1 - текущее число последовательности

i - счетчик цикла

summ - сумма чисел последовательности

 

Последовательность чисел Фибоначчи на Pascal без рекурсии:

program Fibonacci;
var
    n0,n1,summ,i,number: integer;
begin
    write('number = ');
    readln(number );
 
    n0 := 0;
    write(n0, ' ');
    n1 := 1;
    write(n1, ' ');
    for i:=3 to number do begin
        write(n0 + n1, ' ');
        summ := n1;
        n1 := n0 + n1;
        n0 := summ
    end; 
readln
end.

Результат:

number = 11
0 1 1 2 3 5 8 13 21 34 55 

Для того, чтобы выводить последовательность с 1, а не с 0, необходимо преобразовать код:

program Fibonacci;
var
    n0,n1,summ,i,number: integer;
begin
  readln(number);  
  for i := 1 to number do
  begin
    if (i = 1) or (i = 2) then
      summ := 1
    else
      summ := n0 + n1;
    n0 := n1;
    n1 := summ;    
    write(summ, ' ');
  end;
 
readln
end.

Результат:

11
1 1 2 3 5 8 13 21 34 55 89

 

Получения n-ого по счёту числа Фибоначчи на Pascal с помощью рекурсии:

program Fibonacci;
var
    number: integer;
    
function fibonacci(number:integer): longint;
begin
  if number <= 2 then
    fibonacci:=1
  else
    fibonacci:=fibonacci(number-1) + fibonacci(number-2)
end;

begin
  readln(number);
  write(fibonacci(number));
 
readln
end.

Результат:

89

 

Для комментирования необходимо авторизоваться