Mathématiques

Question

Bonjour quelqu'un peut m'aidez pour cette exo
1.On se donne un entier naturel N. Écrire un algorithme qui donne la plus grande puissance k de 2 tel que N superieur ou egale 2k. Tester votre algorithme sur N  213.

2.Utiliser votre algorithme pour écrire N = 213 comme une somme de puissance de 2.

1 Réponse

  • Réponse :

    Bonjour,

    Explications étape par étape

    1. Puis_2

    2. SomPuis_2

    def Puis_2(n):

       k=1

       p=1

       while (2*p<n):

           k=k+1

           p=p*2

       k=k-1

       return k

    #---------------------------------------------------

    def SomPuis_2(n):

       list=[]

       p=0

       nb=n

       while (nb>0):

           p=Puis_2(nb)

           nb-=2**p

           list.append(p)

       return list

    #---------------------------------------

    print(Puis_2(1))

    print (SomPuis_2(213))

Autres questions