用Java编写程序求两个正整数的最大公约数
时间: 2024-12-17 22:38:18 浏览: 4
输入两个正整数m和n求其最大公约数和最小公倍数 (2).pdf
在Java中,可以使用欧几里得算法(也称为辗转相除法)来计算两个正整数的最大公约数(Greatest Common Divisor, GCD)。这个算法基于以下原理:两个数a和b(假设a > b),它们的最大公约数等于a除以b余数c(记作gcd(a, b) = gcd(b, c)),当c为0时,b就是最大公约数。
下面是一个简单的Java函数实现:
```java
public class Main {
public static int gcd(int num1, int num2) {
if (num2 == 0) {
return num1;
} else {
return gcd(num2, num1 % num2);
}
}
public static void main(String[] args) {
int a = 48; // 第一个正整数
int b = 18; // 第二个正整数
System.out.println("The GCD of " + a + " and " + b + " is: " + gcd(a, b));
}
}
```
在这个例子中,`gcd()`函数递归地调用自身,直到找到两个数的余数为0,此时的除数即为最大公约数。
阅读全文