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 super
Mathématiques
moi1er
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.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
-
1. Réponse caylus
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))