English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Java Basics

Contrôle de flux Java

Java Tableau

Java Orienté Objet (I)

Java Orienté Objet (II)

Java Orienté Objet (III)

Java Exception Handling

Java Liste (List)

Java Queue (File d'attente)

Java Map Collection

Java Set Collection

Java Entrée Sortie (I/O)

Java Reader/Writer

Autres sujets Java

Recherche du plus grand commun diviseur de deux nombres dans un programme Java

Java example complete set

Dans ce programme, vous allez apprendre à trouver le plus grand commun diviseur (GCD) de deux nombres dans un programme Java. Cela est réalisé en utilisant des boucles for et while avec des instructions if else.

Le HCF ou GCD de deux entiers peut être exactement divisé par les deux nombres (sans reste) le plus grand entier.

Example1:Utilisez une boucle for et une instruction if pour trouver le plus grand commun diviseur de deux nombres

public class GCD {
    public static void main(String[] args) {
        int n1 = 81, n2 = 153, gcd = 1;
        for(int i = 1; i <= n1 && i <= n2; ++i)
        {
            // Vérifiez si i est un diviseur de deux entiers
            if(n1 % i==0 && n2 % i==0)
                gcd = i;
        }
        System.out.printf(" %d et %d le plus grand commun diviseur est %d", n1, n2, gcd);
    }
}

When running the program, the output is:

81 et 153 le plus grand commun diviseur est 9

Ici, les deux nombres qui devront trouver leur plus grand commun diviseur seront stockés dans n1and n2dans.

Ensuite, exécutez une boucle for jusqu'à ce que i soit inférieur à n1and n2jusqu'à ce que.1jusqu'à ce que vous trouviez le plus grand commun diviseur de tous les nombres les plus petits entre les deux nombres.

si n1and n2Si tous les nombres peuvent être divisés par i, alors gcd est réglé sur le nombre. Continuez jusqu'à ce que vous trouviez le plus grand nombre (GCD), ce qui sera n1and n2are divided without remainder.

We can also solve this problem with a while loop, as shown below:

Example2:Use while loop and if else statement to find the GCD of two numbers

public class GCD {
    public static void main(String[] args) {
        int n1 = 81, n2 = 153;
        while(n1 != n2)
        {
            if(n1 > n2)
                n1 -= n2;
            else
                n2 -= n1;
        }
        System.out.println("G.C.D = " + n1);
    }
}

When running the program, the output is:

G.C.D = 9

This is a better way to find the GCD. In this method, subtract the smaller integer from the larger integer, and then assign the result to the variable that stores the larger integer. This process continues until n1and n2equal.

Only when the user enters a positive integer can the above two programs work as expected. This is some modification of the second example, which can find the GCD of positive and negative integers.

Example3:Both positive and negative numbers are GCD

public class GCD {
    public static void main(String[] args) {
        int n1 = 81, n2 = -153;
        n1 = ( n1 > 0) ? n1 : -n1;
        n2 = ( n2 > 0) ? n2 : -n2;
        while(n1 != n2)
        {
            if(n1 > n2)
                n1 -= n2;
            else
                n2 -= n1;
        }
        System.out.println("G.C.D = " + n1);
    }
}

When running the program, the output is:

G.C.D = 9

Java example complete set