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