È dato il seguente frammento di programma:
void ricorsiva(int n) { int m; m=n/2; if(m != 0) ricorsiva(m); printf("%1d", n%2); } main() { ricorsiva(729); }Cosa viene visualizzato a video dall’esecuzione di main()?
Soluzione: 1011011001
Osserva la sequenza di chiamate ricorsive e i valori visualizzati
r(729) = r(364)1 = r(182)01 = r(91)001 = r(45)1001 = r(22)11001 = r(11)011001 = r(5)1011001 = r(2)11011001 = r(1)011011001 = 1011011001
La sequenza dei resti modulo 2 dal meno significativo… la conversione in base 2 di 729