Programme Kotlin pour trouver GCD de deux nombres

Dans ce programme, vous apprendrez à trouver GCD de deux nombres dans Kotlin. Cela se fait en utilisant la boucle while à l'aide de l'instruction if else.

Le HCF ou GCD de deux entiers est le plus grand entier qui peut diviser exactement les deux nombres (sans reste).

Exemple 1: Trouver GCD de deux nombres en utilisant la boucle 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") )

Lorsque vous exécutez le programme, la sortie sera:

 GCD de 81 et 153 est 9

Ici, deux nombres dont GCD se trouve sont stockés respectivement dans n1 et n2.

Ensuite, une boucle while est exécutée jusqu'à ce que i soit inférieur à n1 et n2. De cette façon, tous les nombres compris entre 1 et le plus petit des deux nombres sont itérés pour trouver le GCD.

Si n1 et n2 sont tous deux divisibles par i, pgcd est mis au nombre. Cela continue jusqu'à ce qu'il trouve le plus grand nombre (GCD) qui divise à la fois n1 et n2 sans reste.

Contrairement à Java, vous ne pouvez pas utiliser une boucle for avec des conditions pour ce problème. Voici le code Java équivalent: Programme Java pour trouver GCD de deux nombres.

Il existe une meilleure alternative pour trouver GCD à Kotlin comme suit:

Exemple 2: trouver GCD de deux nombres (meilleure alternative)

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

Lorsque vous exécutez le programme, la sortie sera:

 GCD = 9

C'est une meilleure façon de trouver le GCD. Dans cette méthode, le plus petit entier est soustrait du plus grand entier et le résultat est attribué à la variable contenant un entier plus grand. Ce processus se poursuit jusqu'à ce que n1 et n2 soient égaux.

Les deux programmes ci-dessus fonctionnent comme prévu uniquement si l'utilisateur entre des entiers positifs. Voici une petite modification du deuxième exemple pour trouver le GCD pour les entiers positifs et négatifs.

Exemple 3: GCD pour les nombres positifs et négatifs

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

Lorsque vous exécutez le programme, la sortie sera:

 GCD = 9

Articles intéressants...