/* File: mcd5.c */ /* Time-stamp: "2001-03-20 11:52:56 calvanes" */ /* Scopo: cicli indefiniti */ /* Legge due numeri interi positivi e calcola il massimo comun divisore. Utilizza l'algoritmo di Euclide nella versione con i resti. Versione ottimizzata che non fa uso di if-else nel ciclo. */ #include <stdio.h> int main(void) { int m, n, resto; printf("Due interi positivi ? "); scanf("%d%d", &m, &n); /* la stampa del messaggio che utilizza i valori iniziali m e n deve essere fatta prima del calcolo in quanto tali valori vanno perduti */ printf("Massimo comun divisore di %d e %d : ", m, n); while (n > 0) { resto = m % n; m = n; n = resto; } printf("%d\n", m); return 0; }