...calculate a fibonacci number?

Author: Dev4u.ch
Homepage: http://www.dev4u.ch

Category: Math

{
  Fibonacci integers are defined as:
  Fibonacci Zahlen sind wie folgt definiert:

  fib[n+2] = fib[n+1] + fib[n];
  fib[1] = 1;
  fib[0] = 1;

  Example/Beispiel: fib[4] = fib[3] + fib[2] = fib[2] + fib[1] + fib[1] + fib[0] =
                    fib[1] + fib[0] + fib[1] + fib[1] + fib[0] = 5
}

function  fibit(n: Integer): Integer;
var
  
a, b, i, temp: Integer;
begin
  
temp := 1;
  a := 1;
  b := 1;
  for i := 1 to n - 1 do
  begin
    
temp := a + b;
    a := b;
    b := temp;
  end;
  Result := temp;
end;

function fibrec(n: Integer): Integer;
var
  
temp: Integer;
begin
  
temp := 0;
  if (n = 0) then temp := 1;
  if (n = 1) then temp := 1;
  if (n > 1) then temp := fibrec(n - 1) + fibrec(n - 2);
  Result := temp;
end;


// Example:
procedure TForm1.Button1Click(Sender: TObject);
begin
  
ShowMessage(IntToStr(fibit(10)));
  ShowMessage(IntToStr(fibrec(10)));
end;

 

printed from
www.swissdelphicenter.ch
developers knowledge base