Програма Java за намиране на GCD от две числа

В тази програма ще се научите да намирате GCD на две числа в Kotlin. Това се прави с помощта на цикли for и while с помощта на if else инструкции.

За да разберете този пример, трябва да имате познанията по следните теми за програмиране на Java:

  • Java, ако … друго Изявление
  • Java за Loop
  • Java докато и да … докато Loop

HCF или GCD от две цели числа е най-голямото цяло число, което може точно да раздели и двете числа (без остатък).

Пример 1: Намерете GCD на две числа, като използвате оператора for и 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); ) )

Изход

 GCD от 81 и 153 е 9

Тук две числа, чийто GCD трябва да бъдат намерени, се съхраняват съответно в n1 и n2.

След това се изпълнява цикъл for, докато i е по-малко от n1 и n2. По този начин всички числа между 1 и най-малкото от двете числа се итерират, за да се намери GCD.

Ако и n1, и n2 се делят на i, gcd се задава на числото. Това продължава, докато намери най-големия брой (GCD), който разделя n1 и n2 без остатък.

Също така можем да разрешим този проблем, като използваме цикъл while, както следва:

Пример 2: Намерете GCD на две числа, като използвате цикъла while и 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); ) )

Изход

 GCD = 9

Това е по-добър начин да намерите GCD. При този метод по-малкото цяло число се изважда от по-голямото цяло и резултатът се присвоява на променливата, съдържаща по-голямо цяло число. Този процес продължава, докато n1 и n2 са равни.

Горните две програми работят по предназначение само ако потребителят въведе положителни цели числа. Ето малка модификация на втория пример за намиране на GCD както за положителни, така и за отрицателни цели числа.

Пример 3: GCD както за положителни, така и за отрицателни числа

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

Изход

 GCD = 9

Интересни статии...