👤

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

Other Questions

© 2024 IDNLearn. All rights reserved.