Kotlinov program za iskanje GCD dveh številk

V tem programu se boste naučili najti GCD dveh številk v Kotlinu. To se naredi z uporabo zanke while s pomočjo stavka if else.

HCF ali GCD dveh celih števil je največje celo število, ki lahko natančno deli obe številki (brez ostanka).

Primer 1: Z uporabo zanke while poiščite GCD dveh števil

 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") )

Ko zaženete program, bo rezultat:

 GCD 81 in 153 je 9

Tu sta dve številki, katerih GCD najdemo, shranjeni v n1 oziroma n2.

Nato se izvede zanka while, dokler i ni manjša od n1 in n2. Na ta način se ponovijo številke med 1 in najmanjšo od obeh številk, da se najde GCD.

Če sta oba n1 in n2 deljiva z i, je gcd nastavljen na število. To traja, dokler ne najde največjega števila (GCD), ki deli n1 in n2 brez ostanka.

Za razliko od Jave ne morete uporabiti zanke for s pogoji za to težavo. Tu je enakovredna koda Java: Java program za iskanje GCD dveh številk.

Za iskanje GCD v Kotlinu obstaja boljša alternativa, kot sledi:

Primer 2: Poiščite GCD dveh številk (boljša alternativa)

 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") )

Ko zaženete program, bo rezultat:

 GCD = 9

To je boljši način za iskanje GCD. Pri tej metodi se od večjega števila odšteje manjše celo število, rezultat pa se dodeli spremenljivki, ki vsebuje večje celo število. Ta postopek se nadaljuje, dokler n1 in n2 nista enaki.

Zgornja dva programa delujeta, kot je predvideno, le če uporabnik vnese pozitivna cela števila. Tu je nekaj sprememb drugega primera, da bi našli GCD za pozitivna in negativna cela števila.

Primer 3: GCD za pozitivna in negativna števila

 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") )

Ko zaženete program, bo rezultat:

 GCD = 9

Zanimive Članki...