Kotlin-program til at finde GCD med to numre

I dette program lærer du at finde GCD med to tal i Kotlin. Dette gøres ved hjælp af mens loop med hjælp af hvis ellers udsagn.

HCF eller GCD af to heltal er det største heltal, der nøjagtigt kan dele begge tal (uden en rest).

Eksempel 1: Find GCD med to tal ved hjælp af mens loop

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

Når du kører programmet, vil output være:

 GCD af 81 og 153 er 9

Her er to tal, hvis GCD findes, gemt i henholdsvis n1 og n2.

Derefter udføres en stund-løkke, indtil jeg er mindre end både n1 og n2. På denne måde gentages alle tal mellem 1 og mindste af de to tal for at finde GCD.

Hvis både n1 og n2 kan deles med i, indstilles gcd til tallet. Dette fortsætter, indtil det finder det største tal (GCD), der deler både n1 og n2 uden resten.

I modsætning til Java kan du ikke bruge en for-loop med betingelser for dette problem. Her er den tilsvarende Java-kode: Java-program til at finde GCD med to numre.

Der er et bedre alternativ til at finde GCD i Kotlin som følger:

Eksempel 2: Find GCD med to tal (bedre alternativ)

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

Når du kører programmet, vil output være:

 GCD = 9

Dette er en bedre måde at finde GCD på. I denne metode trækkes mindre heltal fra det større heltal, og resultatet tildeles variablen med større heltal. Denne proces fortsættes, indtil n1 og n2 er ens.

Ovennævnte to programmer fungerer kun som beregnet, hvis brugeren indtaster positive heltal. Her er en lille ændring af det andet eksempel for at finde GCD til både positive og negative heltal.

Eksempel 3: GCD for både positive og negative tal

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

Når du kører programmet, vil output være:

 GCD = 9

Interessante artikler...