我正在尝试创建代码来查找三个用户输入数字的 GCD。我的目标是用输入的数字调用该方法,除以初始化为 1 的 q,仅当余数为零时记录 q,然后确定它是否大于或等于最小数字,如果不是,则增加 q 和召回方法,但如果我想打印出最后记录的最大 q,我做错了什么?我不断收到堆栈溢出错误。
public static int recursiveMethod (int x, int y, int z, int q)
{
int largestVar;
int xRes = x % q;
int yRes = y % q;
int zRes = z % q;
if (xRes==0 && yRes ==0 && zRes==0) {
largestVar = q;
if (q >= x && q >= y && q >= z)
{
return largestVar;
}
}
else {
q++;
}
return recursiveMethod(x, y, z, q);