U ovom programu naučit ćete prikazivati fibonaccijeve serije u Kotlinu pomoću petlji for i while. Naučit ćete prikazivati serije do određenog pojma ili broja.
Fibonaccijeva serija je serija u kojoj je sljedeći pojam zbroj prethodna dva pojma. Prva dva člana Fibonaccijevog niza su 0, a zatim 1.
Fibonaccijev niz: 0, 1, 1, 2, 3, 5, 8, 13, 21,…
Primjer 1: Prikaz Fibonaccijeve serije pomoću for petlje
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 ) )
Kada pokrenete program, izlaz će biti:
Prvih 10 izraza: 0 + 1 + 1 + 2 + 3 + 5 + 8 + 13 + 21 + 34 +
U gornjem programu, prvi (t1) i drugi (t2) pojam inicijaliziraju se u prva dva člana Fibonaccijeve serije 0 odnosno 1.
Za razliku od Jave, koristili smo domete i in operator za iteraciju do n (broj pojmova) prikazujući zbroj prethodna dva pojma pohranjena u varijabli t1.
Evo ekvivalentnog Java koda: Java program za prikaz Fibonaccijevih serija.
Također možete generirati fibonaccijeve serije pomoću while petlje u Kotlinu.
Primjer 2: Prikaz Fibonaccijeve serije pomoću while petlje
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++ ) )
Izlaz je isti kao gore navedeni program.
U gornjem programu, za razliku od for petlje, moramo povećati vrijednost i unutar tijela petlje.
Iako su oba programa tehnički ispravna, u ovom je slučaju bolje koristiti for loop. To je zato što je poznat broj ponavljanja (od 1 do n).
Primjer 3: Prikaz Fibonaccijevih serija do određenog broja (umjesto izraza)
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 ) )
Kada pokrenete program, izlaz će biti:
Do 100: 0 + 1 + 1 + 2 + 3 + 5 + 8 + 13 + 21 + 34 + 55 + 89 +
Umjesto prikazivanja serije do određenog broja, ovaj program prikazuje je do zadanog broja (100).
Za to samo trebamo usporediti zbroj posljednja dva broja (t1) s n.
Ako je t1 manje ili jednako n, ispišite t1. Inače, završili smo s prikazivanjem svih pojmova.