Selles programmis saate õppida Kotlinis leidma kahe numbri GCD-d. Selleks kasutatakse if loopi abil lauset if else.
Kahe täisarvu HCF või GCD on suurim täisarv, mis võib mõlemad arvud täpselt jagada (ilma jäägita).
Näide 1: leidke kahest numbrist GCD, kasutades while loopi
fun main(args: Array) ( val n1 = 81 val n2 = 153 var gcd = 1 var i = 1 while (i <= n1 && i <= n2) ( // Checks if i is factor of both integers if (n1 % i == 0 && n2 % i == 0) gcd = i ++i ) println("G.C.D of $n1 and $n2 is $gcd") )
Programmi käivitamisel on väljund järgmine:
GCD 81 ja 153 on 9
Siin on kaks numbrit, mille GCD leidub, vastavalt n1 ja n2.
Seejärel käivitatakse mõnda aega tsükkel, kuni i on väiksem kui n1 ja n2. Nii korratakse GCD leidmiseks kõik numbrid vahemikus 1 ja väikseim kahest numbrist.
Kui nii n1 kui ka n2 jagunevad i-ga, määratakse gcd numbriks. See kestab seni, kuni leiab suurima arvu (GCD), mis jagab nii n1 kui ka n2 ülejäänuteta.
Erinevalt Java-st ei saa selle probleemi tingimustega for for loopi kasutada. Siin on samaväärne Java-kood: Java-programm kahe numbri GCD leidmiseks.
Kotlinis on GCD leidmiseks parem alternatiiv järgmine:
Näide 2: Leidke kahe numbri GCD (parem alternatiiv)
fun main(args: Array) ( var n1 = 81 var n2 = 153 while (n1 != n2) ( if (n1> n2) n1 -= n2 else n2 -= n1 ) println("G.C.D = $n1") )
Programmi käivitamisel on väljund järgmine:
GCD = 9
See on parem viis GCD leidmiseks. Selles meetodis lahutatakse suuremast täisarvust väiksem täisarv ja tulemus määratakse muutujat, mis hoiab suuremat täisarvu. Seda protsessi jätkatakse seni, kuni n1 ja n2 on võrdsed.
Kaks ülaltoodud programmi toimivad ettenähtud viisil ainult siis, kui kasutaja sisestab positiivsed täisarvud. Siin on teise näite väike muudatus, et leida GCD nii positiivsete kui ka negatiivsete täisarvude jaoks.
Näide 3: GCD nii positiivsete kui ka negatiivsete arvude jaoks
fun main(args: Array) ( var n1 = 81 var n2 = -153 // Always set to positive n1 = if (n1> 0) n1 else -n1 n2 = if (n2> 0) n2 else -n2 while (n1 != n2) ( if (n1> n2) n1 -= n2 else n2 -= n1 ) println("G.C.D = $n1") )
Programmi käivitamisel on väljund järgmine:
GCD = 9