Trouver la plus grande puissance k de 2 tel que N ≥ 2k
Bonjour,j'ai fait un devoir de mathématiques où l'on me demandait de créer un algorithme.
Voici l'énoncé :
1.On se donne un entier naturel N. Écrire un algorithme qui donne la plus grande puissance k de 2 tel que
N ≥ 2k . Tester votre algorithme sur N = 213.
2.Utiliser votre algorithme pour écrire N = 213 comme une somme de puissance de 2.
Voici mon code:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
| def puissance():
N=float(input("Donnez un entier naturel: "))
n=2
k=100
p=N/2
m=2
j=100
if N<n**k :
while n**k>=N:
k=k-1
while m**j>=p:
j=j-1
print("La puissance de 2 la plus proche de N est", n,"puissance", k,"qui est égale à: ", n**k)
print("La somme de puissance de 2 la plus proche de N est: ", m,"puissance ", j,"plus", m,"puissance ", j," qui est égale à: ", m**j+m**j)
print(puissance()) |
J'ai eu un zéro à cet exercice. On m'a dit que ce n'était pas un algorithme.
Pouvez-vous m'expliquer ce qu'est un algorithme, comment en créer un et, si possible, me donner un exemple d'algorithme correspondant à l'exercice svp?
Mon code ne répond-t-il pas à la question?