В тази програма ще се научите да намирате GCD (Greatest Common Divisor) или HCF, използвайки рекурсивна функция в Java.
За да разберете този пример, трябва да имате познанията по следните теми за програмиране на Java:
- Java методи
- Java рекурсия
Тази програма взема две положителни цели числа и изчислява GCD, използвайки рекурсия.
Посетете тази страница, за да научите как можете да изчислите GCD с помощта на цикли.
Пример: GCD на две числа, използващи рекурсия
public class GCD ( public static void main(String() args) ( int n1 = 366, n2 = 60; int hcf = hcf(n1, n2); System.out.printf("G.C.D of %d and %d is %d.", n1, n2, hcf); ) public static int hcf(int n1, int n2) ( if (n2 != 0) return hcf(n2, n1 % n2); else return n1; ) )
Изход
GCD от 366 и 60 е 6.
В горната програма рекурсивната функция се извиква, докато n2 е 0. В крайна сметка стойността на n1 е GCD или HCF на дадените две числа.
Стъпки за изпълнениеНе. | Рекурсивно обаждане | n1 | n2 | n1% n2 |
---|---|---|---|---|
1 | hcf (366, 60) | 366 | 60 | 6 |
2 | hcf (60, 6) | 60 | 6 | 0 |
Финал | hcf (6, 0) | 6 | 0 | - |