English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
В этой программе вы научитесь использовать рекурсивные функции в 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 данных двух чисел.
№. | рекурсивный вызов | n1 | n2 | n1 % n2 |
---|---|---|---|---|
1 | hcf(366,60) | 366 | 60 | 6 |
2 | hcf(60,6) | 60 | 6 | 0 |
В конце | hcf(6,0) | 6 | 0 | -- |