English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Учебник по основам Java

Java Управление потоком

Java Массивы

Java Ориентированность на объекты (I)

Java Ориентированность на объекты (II)

Java Ориентированность на объекты (III)

Обработка исключений в Java

Java Список (List)

Java Queue (очередь)

Java Map-сборник

Java Set-сборник

Java Вход/Выход (I/O)

Java Reader/Writer

Другие темы Java

Java-программа использует рекурсию для поиска наибольшего общего делителя

Java полный список примеров

В этой программе вы научитесь использовать рекурсивные функции в Java для поиска NOD (наибольшего общего делителя) или HCF.

Эта программа использует два положительных целых числа и использует рекурсию для вычисленияNOD (наибольший общий делитель)

Посетите эту страницу, чтобы узнать, какИспользование цикла для вычисления NOD (наибольший общий делитель)

Пример: использование рекурсии для нахождения наибольшего общего делителя двух чисел

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 %d и %d равно %d.", n1, n2, hcf);
    }
    public static int hcf(int n1, int n2)
    {
        if (n2 != 0)
            return hcf(n2, n1 % n2);
        else
            return n1;
    }
}

При выполнении этой программы вывод будет следующим:

Наибольший общий делитель 366 и 60 равен 6.

В вышеуказанном программном обеспечении рекурсивная функция вызывается до тех пор, пока n2 не станет равным 0. В конце концов, значение n1 является наибольшим общим делителем или HCF данных двух чисел.

Шаг выполнения
№.рекурсивный вызовn1n2n1 % n2
1hcf(366,60)366606
2hcf(60,6)6060
В концеhcf(6,0)60--

Java полный список примеров