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 donne 2 ;
  • l'opĂ©rateur % donne le reste de la division euclidienne :5%2 donne 1 ;
  • append est une mĂ©thode qui ajoute un Ă©lĂ©ment Ă  une liste existante : Soit T=[5,2,4], alors T.append(10) ajoute 10 Ă  la liste T. Ainsi, T devient [5,2,4,10].
  • reverse est une mĂ©thode qui renverse les Ă©lĂ©ments d'une liste. Soit T=[5,2,4,10]. AprĂšs T.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.