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//2donne2; - l'opérateur
%donne le reste de la division euclidienne :5%2donne1; appendest une méthode qui ajoute un élément à une liste existante : SoitT=[5,2,4], alorsT.append(10)ajoute10à la listeT. Ainsi,Tdevient[5,2,4,10].reverseest 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.