0
ユークリッドアルゴリズムを使用して2つの数のGCDを求めるプログラムを実行しようとしています。ユークリッドのアルゴリズムでは、大きな数字を小さな数字で割って残りの数字を取り、元の小さな数字を残りの数字で割って、ゼロになるまで続けます。私のプログラムは残りの部分と少数を表示しますが、私はGCDを見つけて各ステップ(プログラムを通過するすべての数字)を出力したいと思います。ユークリッドアルゴリズムを使用するGCDプログラム
import java.util.Scanner;
import java.util.Random;
public class GCD{
public static void main(String [] args){
Scanner reader = new Scanner(System.in);
double n1;
double n2;
double firstOperation;
double smallNum;
double nextOperation;
System.out.println("Enter the first number (positive) ");
n1 = reader.nextDouble();
System.out.println("Enter the second number (positive)");
n2 = reader.nextDouble();
if (n1 > n2){
smallNum = n2;
firstOperation = n1 % n2;
System.out.println (firstOperation);
}
if (n1<n2){
smallNum = n1;
firstOperation = n2 % n1;
System.out.println (firstOperation);
}
while (firstOperation >0)
nextOperation = smallNum % firstOperation ;
//System.out.println(nextOperation);
}
}
}
JAVAではありませんJAVASCRIPT !!!!!!!!! –
最初にdoubleを代入するのではなく、すべての変数にintを使用する – Idali
第二に、whileループは永遠に実行されます。なぜなら、 'firstOperation'は決して変化しないからです – Wiebe