Rubrik: Variablen/Strings · Algorithmen/Mathematik | VB-Versionen: VB6 | 22.04.14 |
Fibonacci-Folge Ein kleiner Source-Code für die Berechnung einer Fibonacci-Folge | ||
Autor: Bernd Theilacker | Bewertung: | Views: 8.309 |
www.oggisoft.de | System: WinXP, Win7, Win8, Win10, Win11 | Beispielprojekt auf CD |
Als Fibonacci-Folge bezeichnet man eine unendliche Folge von Zahlen, bei denen die Summe zweier benachbarter Zahlen die unmittelbar folgende Zahl ergibt, z. b. 1, 1, 2, 3, 5, 8, 13 und so weiter.
Benannt ist die Zeichenfolge nach Leonardo Fibonacci, einem italienischen Rechenmeister.
Für das Beispiel werden benötigt:
- Textfeld (Text1)
- Listenfeld (List1)
- Schalfläche (Command1)
Private Sub Command1_Click() On Error GoTo ErrHandler ' fibonacci-folge berechnen Dim l As Long Dim vZahl1 As Variant Dim vZahl2 As Variant Dim vEingabe As Variant Dim vFibonacci As Variant With List1 .Clear ' liste leeren .AddItem ("1 = 1") vEingabe = Text1.Text ' z.b. die zahl 50, bei mir max. 1476 vZahl1 = 1 vFibonacci = 1 .AddItem ("2 = " & vFibonacci) ' erste fibonacci-zahl ' nicht rekursiv, sondern iterativ in einer schleife berechnen ' das geht viel schneller bei konstantem speicherplatz. For l = 2 To vEingabe - 1 vZahl2 = vZahl1 vZahl1 = vFibonacci vFibonacci = vZahl2 + vFibonacci 'fibonacci-zahl berechnen ' ausgabe mit tausender-trennzeichen .AddItem (CStr(l + 1) & " = " & Format(vFibonacci, "#,###")) Next l End With Exit Sub ErrHandler: MsgBox Err.Number & " " & Err.Description & vbCrLf & vbCrLf & _ "Die Zahl wurde zu groß, letzte Fibonacci-Zahl:" & vbCrLf & vFibonacci, _ vbCritical, "Command_Click_Error" End Sub