Задача 5 Урок 21

Задача 5 Урок 21

Пользователь получает на вход целое положительное число N напишите рекурсивную процедуру, которая выведет все числа Фиббоначи от первого до N-ого

var
  n, f1, f2: integer;

procedure fibonachi(n: integer);
var
  fib: integer;
begin

  if(n >= 1) then
  begin
    fib := f1 + f2;
    write(fib, ' ');
    f2 := f1;
    f1 := fib;
    fibonachi(n - 1);
  end;

end;

begin

  f1 := 0;
  f2 := 1;

  write('Vvedite chislo: ');
  readln(n);

  writeln();

  fibonachi(n);

  readln();

end.
vedro-compota's picture

лучше без глобальных переменных

_____________
матфак вгу и остальная классика =)

var
  n: integer;

procedure fibonachi(n: integer; fib1: integer = 0; fib2: integer = 1);
begin

  if(n > 0) then
  begin
    writeln(fib2);
    fibonachi(n-1, fib2, fib1 + fib2);
  end;

end;

begin

  write('Vvedite chislo: ');
  readln(n);

  writeln();

  fibonachi(n);

  readln();

end.
vedro-compota's picture

засчитано

_____________
матфак вгу и остальная классика =)