0
Я пытаюсь выполнить программу, которая использует алгоритм Евклида, чтобы найти 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 !!!!!!!!! –
Первое использование Int для всех вас variabe вместо double – Idali
Во-вторых, ваш цикл while будет работать вечно, потому что 'firstOperation' никогда не изменяется – Wiebe