Codifica da sistema decimale a binario oppure ottale usando la ricorsione

Abbiamo già visto un esempio di programma per la conversione dal sistema decimale a quello binario, in questa occasione invece vorrei proporvi una modifica sostanziale del codice già visto per poter codificare anche da decimale a ottale, evitando di usare gli array, quest’ultima peculiarità è stata possibile introducendo il concetto di ricorsione. Spiegherò brevemente cos’è un algoritmo ricorsivo ma vi esorto ad approfondire su Wikipedia.

In informatica viene detto algoritmo ricorsivo un algoritmo espresso in termini di se stesso.
Il problema iniziale deve essere divisibile in problemi più piccoli ed elementari tutti uguali al problema iniziale, a quel punto ogni problema più piccolo sarà chiamato ad elaborare un insieme di dati via via sempre minore e solo al raggiungimento di una condizione di fine tutti i risultati delle elaborazioni verranno restituiti nello stesso ordine in cui sono terminate le elaborazioni.
#include <stdio.h>
#include <stdlib.h>

void divRicorsiva(int,int);

void main() {
	int n;	
	printf("Numero decimale da convertire: ");
  	scanf("%d", &n);
	divRicorsiva(n,8);
}

void divRicorsiva(int dividendo, int divisore){
	int risultato, resto;
	risultato=dividendo/divisore;
	resto=dividendo%divisore;
	if(risultato!=0){
		divRicorsiva(risultato,divisore);
		printf("%d",resto);
	}
	else printf("%d",resto);
}