Réponse en voiture (mais pas au volant !).
On est en base 5, donc l'algo de base c'est un divmod : division entière pour l'itération suivante, reste de la division pour le chiffre courant.
Ici le chiffre va de -2 à 2, donc on prend le reste, donc x%5, qu'on ramène sur -2/2, par exemple r=(x+2)%5-2, on a notre chiffre dans "=-012".
Là tu retires ton reste, donc x-=r, ton nouvel x est divisible par 5, ru divises et tu itères.
Plus simple mais j'ai pas testé :
x, r = divmod(x+2, 5)
r -= 2
Et là ton r est le bon entre -2 et 2, ton x est le suivant dans l'itération.
[^] # Re: J'ai galéré :)
Posté par Yth (Mastodon) . En réponse au message Avent du code jour 25. Évalué à 3.
Réponse en voiture (mais pas au volant !).
On est en base 5, donc l'algo de base c'est un divmod : division entière pour l'itération suivante, reste de la division pour le chiffre courant.
Ici le chiffre va de -2 à 2, donc on prend le reste, donc x%5, qu'on ramène sur -2/2, par exemple r=(x+2)%5-2, on a notre chiffre dans "=-012".
Là tu retires ton reste, donc x-=r, ton nouvel x est divisible par 5, ru divises et tu itères.
Plus simple mais j'ai pas testé :
x, r = divmod(x+2, 5)
r -= 2
Et là ton r est le bon entre -2 et 2, ton x est le suivant dans l'itération.