È dato il seguente programma:
#includeint F(int a, int b) { if(a == b) return b; else if(a > b) return G(a-b, b); else return F(b, b-a); } int G(int a, int b) { if(a == b) return b; else if(a < b) return G(b-a, a); else return F(a-b, b); } void main() { printf("%d", F(30, 24)); } Cosa viene visualizzato a video dall'esecuzione di main()?
Soluzione: 6
Osserva
- F(30, 24) = G(30-24, 24)
- G(6, 24) = G(24-6, 6)
- G(18, 6) = F(18-6, 6)
- F(12, 6) = G(12-6, 6)
- G(6, 6) = 6, gli argomenti sono uguali.