Program Java do znajdowania GCD dwóch liczb

W tym programie nauczysz się znajdować GCD dwóch liczb w Kotlinie. Odbywa się to za pomocą pętli for i while z pomocą instrukcji if else.

Aby zrozumieć ten przykład, należy znać następujące tematy dotyczące programowania w języku Java:

  • Instrukcja Java if… else
  • Java for Loop
  • Java while i zrób… while Loop

Wartość HCF lub GCD dwóch liczb całkowitych jest największą liczbą całkowitą, która może dokładnie podzielić obie liczby (bez reszty).

Przykład 1: Znajdź GCD dwóch liczb za pomocą instrukcji for i if

 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) ( // Checks if i is factor of both integers if(n1 % i==0 && n2 % i==0) gcd = i; ) System.out.printf("G.C.D of %d and %d is %d", n1, n2, gcd); ) )

Wynik

 GCD 81 i 153 to 9

Tutaj dwie liczby, których GCD mają zostać znalezione, są przechowywane odpowiednio w n1 i n2.

Następnie wykonywana jest pętla for, dopóki i nie będzie mniejsze niż n1 i n2. W ten sposób wszystkie liczby od 1 do najmniejszej z dwóch liczb są powtarzane, aby znaleźć GCD.

Jeśli zarówno n1, jak i n2 są podzielne przez i, gcd jest ustawiane na liczbę. Trwa to aż do znalezienia największej liczby (GCD), która dzieli zarówno n1, jak i n2 bez reszty.

Możemy również rozwiązać ten problem za pomocą pętli while w następujący sposób:

Przykład 2: Znajdź GCD dwóch liczb za pomocą instrukcji while i if else

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

Wynik

 GCD = 9

To lepszy sposób na znalezienie GCD. W tej metodzie mniejsza liczba całkowita jest odejmowana od większej liczby całkowitej, a wynik jest przypisywany zmiennej zawierającej większą liczbę całkowitą. Ten proces jest kontynuowany, aż n1 i n2 będą równe.

Powyższe dwa programy działają zgodnie z przeznaczeniem tylko wtedy, gdy użytkownik wprowadzi dodatnie liczby całkowite. Oto mała modyfikacja drugiego przykładu, aby znaleźć GCD zarówno dla dodatnich, jak i ujemnych liczb całkowitych.

Przykład 3: GCD dla liczb dodatnich i ujemnych

 public class GCD ( public static void main(String() args) ( int n1 = 81, n2 = -153; // Always set to positive 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); ) )

Wynik

 GCD = 9

Interesujące artykuły...