Bonjour à tous j'ai besoin d'aide sur cet exercice Python, voici l'énoncé:
1. Que fait la séquence d'instructions Python suivante ?
1 k = 0
2 while k**2 <= n:
3 print (k **2)
4 k = k + 1
2. La fonction Python suivante permet de déterminer si un entier n est la somme
de deux carrés d'entiers.
1 from math import *
2
3 def somme_de_deux_carres (n):
4 a = 0
5 while a**2 <= n:
6 b = sqrt (n - a **2)
7 if b == round (b ,0):
8 return True
9 a = a + 1
10 return False
(a) Que fait la commande « from math import * » ? Pourquoi l'utilise-t-on ici ?
(b) À quoi correspond l'instruction « if b == round(b,0): » ?
(c) Zoé lit le code de la fonction et propose de réduire le nombre de tours de boucle réalisés en remplaçant l'instruction « a**2 <= n » à la ligne 5 par l'instruction « a**2 <= (n / 2) » .
i. Démontrez que le code fonctionne toujours correctement.
ii. Montrez que la modification ne réduit le nombre de tours de boucle que dans les cas où la fonction renvoie la valeur « False ».
J'ai fait le grand 1 et le a) du 2
1. La séquence d'instruction suivante donne le carré de chaque entier
2. a) La commande "from math import *" sert à pouvoir importer les objets et fonctions de la bibliothèque math sans avoir à le rappeler à chaque utilisation dans la séquence, ici on l'utilise pour la fonction "sqrt" qui permet de calculer la racine carré.
Mais c'est ici que je bloque plus,
b) L'instruction sert à vérifier que b est un carré entier ?
et je ne sais pas comment démontrer pour le petit c).
voilà merci d'avance
salut
1/ est imprécis
2b/ il y a de l'idée mais ça reste aussi imprécis ...
2c/ tu cherches des ... ? tels que
que peux-tu dire de b^2 si a^2 < n/2 ?
1. La séquence suivante donne le carré de chaque entier de 1 en 1.
2.b) L'instruction permet de vérifier que le b obtenue est égale à la somme de b arrondie à x-0, soit si b est un entier
pour le c je vois "l'idée mais je ne sais pas comment le démontrer.
"que peux-tu dire de b^2 si a^2 < n/2 ?" b2 > a2 < n/2
1/ et 2a/ sont toujours bien maladroits ...
1/ est incomplet : regarde bien les quatre lignes du script
2/ c'est quoi un arrondi à 10^-0 tout simplement ?
et relis l'énoncé de la question 2/ ...
1. La séquence donne les carrés des entier à partir de 0 en augmentant de 1 en 1 tant que le carré obtenu est inférieur à k.
2. un arrondie à 1
Ma principale question c'est surtout comment je suis censé démontrer pour la c
Merci beaucoup pour l'aide sur le 1 et 2a, mais ceux là j'y arrivais à peu près, mon problème c'est la question c, mais c'est celle sur laquelle on a le moins avancé...
Vous devez être membre accéder à ce service...
Pas encore inscrit ?
1 compte par personne, multi-compte interdit !
Ou identifiez-vous :