Числа Фибоначчи |
Previous Top Next |
Code: |
{ Fibonacci integers are defined as:
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; |
©Drkb::04237
Взято с сайта http://www.swissdelphicenter.ch/en/tipsindex.php