У цій програмі ви навчитесь знаходити GCD двох чисел у Котліні. Це робиться за допомогою циклів for і while за допомогою операторів if else.
Щоб зрозуміти цей приклад, ви повинні знати такі теми програмування Java:
- Заява про Java, якщо … ще
- Java для циклу
- 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