質問は次のとおりです。
「2 つの整数をパラメーターとして受け取り、2 つの数値の最大公約数を返す gcd という名前のメソッドを作成します。2 つの整数 a と b の最大公約数 (GCD) は、a と b の両方の因数である最大の整数です。任意の数と 1 の GCD は 1 であり、任意の数と 0 の GCD はその数です。
2 つの数値の GCD を計算する効率的な方法の 1 つは、ユークリッドのアルゴリズムを使用することです。
GCD(A, B) = GCD(B, A % B)
GCD(A, 0) = Absolute value of A"
この問題を解決する方法について、私は本当に混乱しています。これまでのプログラムで何が間違っていたかについて、いくつかのヒントとヒントが欲しいだけです。(私はスキャナーを入れなければなりません。それが私の先生の要件です。) 私はこれを自分で解決したいので、完全なコードを教えないでください。上記の式をどのように組み込むかについてのヒントを教えてください。(そして、なぜ == 0 を入れたのか疑問に思っているなら、それは、0 と 90 という 2 つの数字がある場合、それらの GCD は 0 になると思ったからですよね??)
また、私のコードには while ループを含める必要があります... if ループの方がいいと思います...
前もって感謝します!:)
私の現在のプログラム:
public static void main(String[] args) {
Scanner console = new Scanner(System.in);
int a = console.nextInt();
int b = console.nextInt();
gcd (a, b);
}
public static void gcd(int a, int b) {
System.out.print("Type in two numbers and I will print outs its Greatest Common Divisor: ");
int gcdNum1 = console.nextInt();
int gcdNum2 = console.nextInt();
while (gcdNum1 == 0) {
gcdNum1 = 0;
}
while (gcdNum2 > gcdNum1) {
int gcd = gcdNum1 % gcdNum2;
}
System.out.print(gcdNum1 + gcdNum2);
}
}