Kotlin-programma om de Fibonacci-serie weer te geven

In dit programma leer je fibonacci-reeksen in Kotlin weer te geven met for en while loops. Je leert om de reeks weer te geven tot een bepaalde term of een getal.

De Fibonacci-reeks is een reeks waarbij de volgende term de som is van twee voorgaande termen. De eerste twee termen van de Fibonacci-reeks zijn 0 gevolgd door 1.

 De Fibonacci-reeks: 0, 1, 1, 2, 3, 5, 8, 13, 21, … 

Voorbeeld 1: Fibonacci-reeks weergeven met for-lus

 fun main(args: Array) ( val n = 10 var t1 = 0 var t2 = 1 print("First $n terms: ") for (i in 1… n) ( print("$t1 + ") val sum = t1 + t2 t1 = t2 t2 = sum ) )

Wanneer u het programma uitvoert, is de uitvoer:

 Eerste 10 termen: 0 + 1 + 1 + 2 + 3 + 5 + 8 + 13 + 21 + 34 + 

In het bovenstaande programma worden de eerste (t1) en tweede (t2) termen geïnitialiseerd op de eerste twee termen van respectievelijk de Fibonacci-reeks 0 en 1.

In tegenstelling tot Java hebben we bereiken en in operator gebruikt om te itereren tot n (aantal termen), waarbij de som wordt weergegeven van de vorige twee termen die zijn opgeslagen in variabele t1.

Hier is de equivalente Java-code: Java-programma om Fibonacci-serie weer te geven.

Je kunt ook fibonacci-reeksen genereren met een while-lus in Kotlin.

Voorbeeld 2: geef de Fibonacci-reeks weer met de while-lus

 fun main(args: Array) ( var i = 1 val n = 10 var t1 = 0 var t2 = 1 print("First $n terms: ") while (i <= n) ( print("$t1 + ") val sum = t1 + t2 t1 = t2 t2 = sum i++ ) )

De output is hetzelfde als het bovenstaande programma.

In het bovenstaande programma moeten we, in tegenstelling tot een for-lus, de waarde van i binnen de body van de lus verhogen.

Hoewel beide programma's technisch correct zijn, is het in dit geval beter om for loop te gebruiken. Het is omdat het aantal iteraties (van 1 tot n) bekend is.

Voorbeeld 3: Fibonacci-reeks weergeven tot een bepaald getal (in plaats van termen)

 fun main(args: Array) ( val n = 100 var t1 = 0 var t2 = 1 print("Upto $n: ") while (t1 <= n) ( print("$t1 + ") val sum = t1 + t2 t1 = t2 t2 = sum ) )

Wanneer u het programma uitvoert, is de uitvoer:

 Tot 100: 0 + 1 + 1 + 2 + 3 + 5 + 8 + 13 + 21 + 34 + 55 + 89 + 

In plaats van de reeks tot een specifiek nummer weer te geven, geeft dit programma deze weer tot een bepaald nummer (100).

Hiervoor hoeven we alleen de som van de laatste twee getallen (t1) te vergelijken met n.

Als t1 kleiner is dan of gelijk is aan n, print dan t1. Anders zijn we klaar met het weergeven van alle termen.

Interessante artikelen...