Программа на Java для поиска НОД двух чисел

В этой программе вы научитесь находить НОД двух чисел в Котлине. Это делается с помощью циклов for и while с помощью операторов if else.

Чтобы понять этот пример, вы должны знать следующие темы программирования Java:

  • Заявление Java if… else
  • Java для цикла
  • Java while и do … while Loop

HCF или GCD двух целых чисел - это наибольшее целое число, которое может точно разделить оба числа (без остатка).

Пример 1. Найдите НОД двух чисел с помощью цикла 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); ) )

Вывод

 НОД 81 и 153 равно 9

Здесь два числа, НОД которых необходимо найти, хранятся в n1 и n2 соответственно.

Затем цикл for выполняется до тех пор, пока i не станет меньше, чем n1 и n2. Таким образом, все числа от 1 до наименьшего из двух чисел повторяются для нахождения НОД.

Если и n1, и n2 делятся на i, gcd устанавливается равным числу. Это продолжается до тех пор, пока не будет найдено наибольшее число (НОД), которое делит как n1, так и n2 без остатка.

Мы также можем решить эту проблему с помощью цикла while следующим образом:

Пример 2: Найдите НОД двух чисел с помощью цикла 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); ) )

Вывод

 НОД = 9

Это лучший способ найти GCD. В этом методе меньшее целое число вычитается из большего целого числа, а результат присваивается переменной, содержащей большее целое число. Этот процесс продолжается до тех пор, пока n1 и n2 не станут равными.

Две указанные выше программы работают по назначению, только если пользователь вводит положительные целые числа. Вот небольшая модификация второго примера, чтобы найти НОД как для положительных, так и для отрицательных целых чисел.

Пример 3: НОД для положительных и отрицательных чисел

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

Вывод

 НОД = 9

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