/** * 计算两个自然数的最大公约数(GCD) * @param a 第一个自然数 * @param b 第二个自然数 * @return 最大公约数(若输入非法返回 -1) */ int gcd(int a, int b) { // 处理非法输入(非自然数) if (a <= 0 || b <= 0) { return -1; } // 辗转相除法核心逻辑 while (b != 0) { int temp = a % b; a = b; b = temp; } return a; } 扩展:最小公倍数最小公倍数可以通过最大公约数计算得到:lcm(a, b) = |a * b|...