/** * MCDcomputer * Calcola il massimo comun divisore (MCD) fra due * numeri interi positivi m e n * * @author Adriano Luchetta * @version 16-Ott-2005 */ /* Algoritmo di Euclide Siano m e n due numeri interi positivi con m > n. 1. sia i = m e j = n 1. finche' i % j e' diverso da zero ripetere il passo 2 2. i = j , j = i precedente % j 3. MCD(m,n) = j */ import java.util.Scanner; public class MCDcomputer { public static void main(String[] args) { Scanner in = new Scanner(System.in); System.out.println("***CALCOLO DEL MCD(m,n)***\n"); System.out.print("m e n?: "); int m = in.nextInt(); int n = in.nextInt(); // verifica che i numeri siano positivi if (m <= 0 || n <= 0) { if (m <= 0) System.out.println("m = " + m + ": ingresso non ammesso"); if (n <= 0) System.out.println("n = " + n + ": ingresso non ammesso"); return; // termina l'esecuzione del metodo } // Ordinamento int p = m; int q = n; if (m > n) // pongo i > j { p = n; q = m; } // Algoritmo di Euclide int tmpInt; while ((tmpInt = p % q) != 0) { p = q; q = tmpInt; } // Stampa su output standard System.out.println("MCD(" + m + ", " + n + ") = " + q); // chiude il flusso in.close(); } }