EXO melangeant python/suites/calcul dans R

Retrouver tous les sujets résolus.
Répondre
YOAM

EXO melangeant python/suites/calcul dans R

Message par YOAM » sam. 28 déc. 2019 15:55

Bonjour, j'ai un exercice dont l'énoncé est
Soit a et b deux entiers relatifs non nuls.
1. Montrer que |a^2 −2b^2|>=1.
2. On suppose de plus que |a| < 10^6 et que |b| < 10^6. Prouver que |a−b√2| >= 4×10^−7,
puis que |a/b −√2|>= 4×10^−13.
3. Interprétation : comment avoir une ≪ très bonne ≫ approximation de √2 par un rationnel?
4. Trois réels a, b, c satisfont a l’égalité : (bc + ca + ab)^3 = abc(a + b + c)^3. Démontrer que ces trois réels sont trois termes consécutifs d’une suite géométrique.
5. Écrire en Python une fonction qui affiche tous les diviseurs entiers naturels d’un entier naturel n non nul passé en paramètre à cette fonction.

J'ai donc fait la 1 en disant que valeur absolue de a et b appartient forcement à N puis que cela peut pas etre égal à 0 car racine de 2 peut pas s'écrire sous la forme a/b car c'est un irrationnel.
Pour la 2 j'ai juste vue l'identité remarquable.
Pour la 3 et la 5 je n'ai aucune idée et enfin pour la 4 j'ai remplace b par a fois q et c par a fois q^2 mais mon prof m'as dis qu'il fallait pas exprimer.
Voilà ,c'est un peu long désolé merci de bien vouloir m'aider svp.
sos-math(21)
Messages : 10353
Enregistré le : lun. 30 août 2010 11:15

Re: EXO melangeant python/suites/calcul dans R

Message par sos-math(21) » dim. 29 déc. 2019 10:31

Bonjour,
\(a\) et \(b\) étant entiers, \(a^2-2b^2\) est aussi entier et \(|a^2-2b^2|\) est donc un entier naturel qui sera toujours supérieur ou égal à 1 sauf s'il est nul. Il faut donc résoudre l'équation \(a^2-2b^2=0\) qui mène à des solutions impossibles du fait de l'irrationnalité de \(sqrt{2}\) : c'est ce que tu sembles avoir obtenu.
Pour le deuxième, il faut effectivement utiliser l'identité remarquable : \((a^2-2b^2)=(a+\sqrt{2}b)(a-\sqrt{2}b)\) et l'inégalité précédente qui te mène à : \(|a-\sqrt{2}b|\leqslant \dfrac{1}{a+\sqrt{2}b}\) ( car les deux entiers sont non nuls donc \(a+\sqrt{2}b>0\)) En utilisant les majorants de \(a\) et \(b\), tu auras bien le minorant \(4\times 10^{-7}\), puis en divisant l'inégalité par \(|b|\), tu obtiendras bien la deuxième inégalité.
Tu peux généraliser en disant que si \(|a|<10^n\) et \(|b|<10^n\), alors \(\left|\dfrac{a}{b}-\sqrt{2}\right|\leqslant \dfrac{1}{(\sqrt{2}+1)10^{2n}}\).
L'interprétation tient au fait de considérer la contraposée de la propriété que tu viens de trouver.
En mathématiques, une implication est de la forme Si on a ceci alors on a cela, ce qui peut s'écrire aussi ceci \(\Rightarrow\) cela. Ici tu as \(|a|<10^n\) et \(|b|<10^n\) \(\Rightarrow\) \(\left|\dfrac{a}{b}-\sqrt{2}\right|\geqslant K\times 10^{-2n}\)
Une implication est logiquement équivalente à sa contraposée, c'est-à-dire contraire de cela \(\Rightarrow\) contraire de ceci.
Autrement dit, ici si \(\left|\dfrac{a}{b}-\sqrt{2}\right|\leqslant K\times 10^{-2n}\) alors \(|a|\geqslant 10^n\) ou \(|b|\geqslant 10^n\) .
Ce qui signifie que si on veut un rationnel proche de \(\sqrt{2}\), cela signifie qu'il faut que \(n\) soit grand, donc que \(a\) ou \(b\) soient grands.
Autrement dit, l'approximation de \(\sqrt{2}\) par des rationnels est d'autant plus précise que les nombres sont grands.
Pour la 5, si on part d'un entier \(n\), il suffit de parcourir tous les entiers entre 1 et \(n\) et de tester la divisibilité de \(n\) par ces entiers.
Il faut pour cela utiliser la commande % qui donne le reste de la division euclidienne : \(n\%k\) donne le reste de la division euclidienne de \(n\) par \(k\) donc \(k\) sera un diviseur de \(n\) si et seulement si \(n\%k\) est égal à 0.
À chaque fois qu'on trouve un diviseur, on le rajoute à une liste déclarée avant le parcours des entiers.
Je te donne le début :

Code : Tout sélectionner

def liste_diviseurs(n) :
  """cette fonction renvoie la liste des diviseurs d'un entier non nul n"""
  liste = [] # liste vide au début qui va accueillir les diviseurs de n
    for k in range(1,n+1) : # parcours des entiers entre 1 et n
	if .... :
		....
  return liste
Répondre