Enonce
Ăcrire une fonction ecriture_binaire_entier_positif
qui prend en paramĂštre un
entier positif n
et renvoie une liste d'entiers correspondant Ă lâĂ©criture binaire de n
.
Ne pas oublier dâajouter au corps de la fonction une documentation et une ou plusieurs assertions pour vĂ©rifier les prĂ©-conditions.
Exemples :
>>> ecriture_binaire_entier_positif(0)
[0]
>>> ecriture_binaire_entier_positif(2)
[1, 0]
>>> ecriture_binaire_entier_positif(105)
[1, 1, 0, 1, 0, 0, 1]
Aide :
- l'opérateur
//
donne le quotient de la division euclidienne :5//2
donne2
; - l'opérateur
%
donne le reste de la division euclidienne :5%2
donne1
; append
est une méthode qui ajoute un élément à une liste existante : SoitT=[5,2,4]
, alorsT.append(10)
ajoute10
Ă la listeT
. Ainsi,T
devient[5,2,4,10]
.reverse
est une méthode qui renverse les éléments d'une liste. SoitT=[5,2,4,10]
. AprĂšsT.reverse()
, la liste devient[10,4,2,5]
.
On remarquera quâon rĂ©cupĂšre la reprĂ©sentation binaire dâun entier n
en partant de la gauche en appliquant successivement les instructions :
b = n%2
n = n//2
répétées autant que nécessaire.