欢迎访问宙启技术站
智能推送

请编写一个Java函数,实现计算两个整数的最大公约数。

发布时间:2023-07-06 07:32:04

这是一个简单的Java函数来计算两个整数的最大公约数。思路是使用欧几里得算法,该算法的原理是通过连续地取两个数的余数,最终得到的余数为0时,前一个余数就是最大公约数。

以下是一个示例代码:

public class GCD {
    public static int findGCD(int num1, int num2) {
        // 如果num2为0,则num1就是最大公约数
        if (num2 == 0) {
            return num1;
        }
        // 不断取num2的余数,并将num2赋值给num1,将余数赋值给num2
        while (num2 != 0) {
            int remainder = num1 % num2;
            num1 = num2;
            num2 = remainder;
        }
        // 返回最大公约数
        return num1;
    }
    
    public static void main(String[] args) {
        int num1 = 36;
        int num2 = 48;
        int gcd = findGCD(num1, num2);
        System.out.println("最大公约数是: " + gcd);
    }
}

上述代码中,findGCD函数接受两个整数作为输入参数,并使用while循环来计算最大公约数。如果其中一个整数为0,则另一个整数就是最大公约数。否则,通过连续取余数的操作,最终得到的余数为0时,前一个余数就是最大公约数。最后,在main函数中,我们使用两个整数36和48进行测试,输出最大公约数。

这样,我们就实现了一个简单的Java函数来计算两个整数的最大公约数。