Sagot :
Réponse :
Explications :
a) La commande "from math import" importe le module math
Dans notre exercice elle nous permet de calculer la racine carrée .
b)L'instruction ( if b == round (b,0) :" permet de vérifier que b est un entier
c) Programme modifié
from math import *
def somme_de_deux_carres(n):
a= 0
while a**2 <=n/2:
b=sqrt (n - a**2)
if b==round(b,0):
return True
a=a+1
return False
Résultat
*** Console de processus distant Réinitialisée ***
>>> somme-de-deux-carres(29)
*** Console de processus distant Réinitialisée ***
>>> somme_de_deux_carres(29)
True
>>> somme_de_deux_carres(28)
False
>>>
N>ombre de boucles
Programme initial
from math import *
def somme_de_deux_carres(n):
a= 0
i=0
while a**2 <=n:
i=i+1
b=sqrt (n - a**2)
if b==round(b,0):
return (True , i)
a=a+1
return (False,i)
Résultat
>>> somme_de_deux_carres(29)
(True, 3)
>>> somme_de_deux_carres(28)
(False, 6)
>>>
Avec programme modifié
from math import *
def somme_de_deux_carres(n):
a= 0
i=0
while a**2 <=n/2:
i=i+1
b=sqrt (n - a**2)
if b==round(b,0):
return (True , i)
a=a+1
return (False,i)
Résultat
>>> somme_de_deux_carres(29)
(True, 3)
>>> somme_de_deux_carres(28)
(False, 4)
>>>
On constate bien que le nombre de tours 4 au lieu de 6 n'est modifié que pour un résultat False