AI写作智能体 自主规划任务,支持联网查询和网页读取,多模态高效创作各类分析报告、商业计划、营销方案、教学内容等。 广告
# Java 程序:使用递归查找 GCD > 原文: [https://www.programiz.com/java-programming/examples/gcd-hcf-recursion](https://www.programiz.com/java-programming/examples/gcd-hcf-recursion) #### 在此程序中,您将学习如何使用 Java 中的递归函数查找 GCD(最大公约数)或 HCF。 该程序采用两个正整数,并使用递归计算 GCD。 访问此页面以了解如何使用循环来[计算 GCD](/java-programming/examples/hcf-gcd "GCD using loops in Java")。 ## 示例:使用递归的两个数字的 GCD ```java public class GCD { public static void main(String[] args) { int n1 = 366, n2 = 60; int hcf = hcf(n1, n2); System.out.printf("GCD 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; } } ``` 运行该程序时,输出为: ```java GCD of 366 and 60 is 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 | - |