J'essaye de faire un programme qui utilise l'algorithme euclidien pour trouver le GCD de deux nombres. L'algorithme Euclidien dit que vous divisez le grand nombre par le petit nombre et prenez ce reste et divisez le petit nombre original par le reste, et vous continuez à faire cela jusqu'à ce que vous obteniez zéro. Mon programme imprime le reste, et le petit nombre, mais je veux trouver le GCD et imprimer chaque étape (chaque numéro qui traverse le programme).Programme GCD utilisant l'algorithme Euclidien
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 EST PAS JAVASCRIPT !!!!!!!!! –
D'abord utiliser Int pour tout vous variabe au lieu de double – Idali
Deuxièmement, votre boucle while sera exécutée pour toujours, car 'firstOperation' ne change jamais – Wiebe