Calculer le PGCD de deux nombres en Java

Dans ce tutoriel nous allons découvrir comment calculer le PGCD en Java. Le PGCD ou le Plus Grand Commun Diviseur de deux entiers est le plus grand entier pouvant diviser exactement deux nombres (sans reste). Exemple :
 


 
 

Exemple: En utilisant la boucle for
Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
public class Main {
public static void main(String[] args) {
int n1 = 60, n2 = 36, pgcd = 0;
for(int i=1; i <= n1 && i <= n2; i++)
{
if(n1% i==0 && n2%i==0)
pgcd = i;
}
System.out.printf("PGCD de %d et %d est: %d", n1, n2, pgcd);
}
}
public class Main { public static void main(String[] args) { int n1 = 60, n2 = 36, pgcd = 0; for(int i=1; i <= n1 && i <= n2; i++) { if(n1% i==0 && n2%i==0) pgcd = i; } System.out.printf("PGCD de %d et %d est: %d", n1, n2, pgcd); } }
public class Main {

    public static void main(String[] args) {

        int n1 = 60, n2 = 36, pgcd = 0;

        for(int i=1; i <= n1 && i <= n2; i++)
        {
            if(n1% i==0 && n2%i==0)
                pgcd = i;
        }
        System.out.printf("PGCD de %d et %d est: %d", n1, n2, pgcd);
    }
}

 
Sortie:

PGCD de 60 et 36 est: 12

 
 

Exemple: En utilisant la boucle while
Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
public class Main {
public static void main(String[] args) {
int n1 = 60, n2 = 36;
while (n1 != n2) {
if(n1 > n2)
n1 = n1 - n2;
else
n2 = n2 - n1;
}
System.out.printf("PGCD = %d", n2);
}
}
public class Main { public static void main(String[] args) { int n1 = 60, n2 = 36; while (n1 != n2) { if(n1 > n2) n1 = n1 - n2; else n2 = n2 - n1; } System.out.printf("PGCD = %d", n2); } }
public class Main {

    public static void main(String[] args) {

        int n1 = 60, n2 = 36;

        while (n1 != n2) {
        	if(n1 > n2)
                n1 = n1 - n2;
            else
                n2 = n2 - n1;
        }

		System.out.printf("PGCD = %d", n2);
    }
}

 
Sortie:

PGCD = 12

 

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *