Forum
Grundkurs
»Introduktion
»Snabbguide
»Komponenter
»Händelser
»Strängar
»Räkna med Delphi »Egna
typer
»Selektion
»Iteration
»Menyer
»Funktioner
»Arraystrukturer
Tips & Tricks
»Nya tips
»Blandat
»Databaser
»Filer
»Forms
»Grafik
»Internet
»Komponenter
»Matematik
»Multimedia
»Objekt/ActiveX
»Skrivare
»Strängar
»System
»Mest lästa tips
Artiklar
»Delphi och ADO
»Bygga en DLL
»Skapa en enkel rapport
»Hantera registret
»Enheter, units
»Klassen TCanvas
»Använd LookUp Controls
Nya
tips
Lägg
till tips
Delphilänkar
Gästbok
|
|
Kalkylera Fibonacci-tal
|
Kategori: Matematik
Inlagt: 2004-05-08
Läst: 1369
Inlagt av: Staffan Berg
|
Beskrivning |
Detta exempel kalkylerar heltal enligt modellen Fibonacci.
|
Kod |
//Fibonacci integers are defined as: // fib[n+2] = fib[n+1] + fib[n]; // fib[1] = 1; // fib[0] = 1; // Example: 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;
|
|
|