Zut, j'ai loupé le mot "récursif" en lisant l'énoncé.
Voila quand même ce que j'ai écrit sous Algobox (à triturer si on veut rendre l'algo récurcif).
VARIABLES
decimal EST_DU_TYPE NOMBRE
n EST_DU_TYPE NOMBRE
i EST_DU_TYPE NOMBRE
m EST_DU_TYPE NOMBRE
DEBUT_ALGORITHME
LIRE decimal
SI (decimal == 0) ALORS
DEBUT_SI
AFFICHER "0"
FIN_SI
SINON
DEBUT_SINON
n PREND_LA_VALEUR 0
TANT_QUE (pow(2,n) <= decimal) FAIRE
DEBUT_TANT_QUE
n PREND_LA_VALEUR n+1
FIN_TANT_QUE
n PREND_LA_VALEUR n-1
AFFICHER "1"
decimal PREND_LA_VALEUR decimal - pow(2,n)
m PREND_LA_VALEUR n
POUR i ALLANT_DE 1 A n
DEBUT_POUR
m PREND_LA_VALEUR m-1
SI ((pow(2,m) <= decimal)) ALORS
DEBUT_SI
AFFICHER "1"
decimal PREND_LA_VALEUR decimal - pow(2,m)
FIN_SI
SINON
DEBUT_SINON
AFFICHER "0"
FIN_SINON
FIN_POUR
FIN_SINON
FIN_ALGORITHME
