Ciao.
Ho scritto questo sorgente per il calcolo del massimo comun divisore con l’algortimo euclideo.
codice:
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
int main(void)
{
int a, b;
int r;
/* LEGGI i coefficienti */
printf("Inserisci il numero a: ") ;
scanf("%d", &a) ;
printf("Inserisci il numero b: ") ;
scanf("%d", &b) ;
if (a=0)
printf("Il massimo comun divisore è %d\n", 0);
else
{
r=1;
while(r>0)
{
r=a%b;
a=b;
b=r;
}
printf("Il massimo comun divisore è %d\n", a);
}
system("pause");
exit(0);
}
Il problema è che fintanto che c’è il controllo condizionale if il programma ritorna il secondo numero b come output. Se cancello la parte del controllo condizionale, il programma funziona correttamente.
Suggerimenti?
Grazie,
Ciao.