Programma Kotlin per trovare GCD di due numeri

In questo programma imparerai a trovare GCD di due numeri in Kotlin. Questo viene fatto usando il ciclo while con l'aiuto dell'istruzione if else.

L'HCF o GCD di due numeri interi è il numero intero più grande che può dividere esattamente entrambi i numeri (senza resto).

Esempio 1: trova GCD di due numeri utilizzando il ciclo while

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

Quando esegui il programma, l'output sarà:

 MCD di 81 e 153 è 9

Qui, due numeri il cui MCD si trova sono memorizzati rispettivamente in n1 e n2.

Quindi, viene eseguito un ciclo while finché i è minore sia di n1 che di n2. In questo modo, tutti i numeri compresi tra 1 e il più piccolo dei due numeri vengono iterati per trovare il GCD.

Se sia n1 che n2 sono divisibili per i, mcd è impostato sul numero. Questo continua finché non trova il numero più grande (MCD) che divide sia n1 che n2 senza resto.

A differenza di Java, non è possibile utilizzare un ciclo for con le condizioni per questo problema. Ecco il codice Java equivalente: Programma Java per trovare GCD di due numeri.

C'è un'alternativa migliore per trovare GCD in Kotlin come segue:

Esempio 2: trova GCD di due numeri (alternativa migliore)

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

Quando esegui il programma, l'output sarà:

 MCD = 9

Questo è un modo migliore per trovare il GCD. In questo metodo, il numero intero più piccolo viene sottratto dal numero intero più grande e il risultato viene assegnato alla variabile che contiene il numero intero più grande. Questo processo viene continuato fino a quando n1 e n2 sono uguali.

I due programmi precedenti funzionano come previsto solo se l'utente inserisce numeri interi positivi. Ecco una piccola modifica del secondo esempio per trovare il GCD per interi positivi e negativi.

Esempio 3: MCD per numeri positivi e negativi

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

Quando esegui il programma, l'output sarà:

 MCD = 9

Articoli interessanti...