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:
J'ai eu un zéro à cet exercice. On m'a dit que ce n'était pas un algorithme.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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())
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?
Partager