我想要求用户输入三个数字,然后让程序在使用递归的同时使用欧几里得算法计算 GCD。
我的代码现在实现了两个输入数字。我了解计算a和b的GCD的方法,并将其称为结果d。然后使用第三个输入 (c) 和 d 找到 GCD 并基本上再次重复欧几里得算法;我不确定如何在代码中实现这一点。
import java.util.Scanner;
public class RecursionDemo {
public static void main (String[] args) {
Scanner userInput = new Scanner(System.in);
System.out.println("Enter first number: ");
int a = userInput.nextInt();
System.out.println("Enter second number: ");
int b = userInput.nextInt();
System.out.println("GCD is: " + gCd(a, b));
}
public static int gCd(int a, int b) {
if(b == 0){
return a;
}
return gCd(b, a%b);
}
}
真正让我失望的部分是使用递归来解决我的问题。
到目前为止,我知道我需要实现:
System.out.println("Enter third number: ");
int c = userInput.nextInt();
d = //Not sure here
//And then modify my recursion method to find GCD.
任何帮助或建议将不胜感激!