Sujet : Re: Résoudre cette égalité
De : python (at) *nospam* invalid.org (Python)
Groupes : fr.sci.mathsDate : 06. Jun 2023, 09:46:53
Autres entêtes
Organisation : A noiseless patient Spider
Message-ID : <u5mrpt$mgve$1@dont-email.me>
References : 1 2 3 4 5
User-Agent : Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.3.3
Le 06/06/2023 à 10:23, Michel Talon a écrit :
Le 06/06/2023 à 08:08, robby a écrit :
Tu veux dire 10 doit diviser x,
>
yep.
>
et encore c'est pas garanti.
>
qu'est-ce que j'ai raté ? il peut y avoir un diviseur commun à X et X-1 ?
>
a divise b*c implique a divise c si a est premier à b, en particulier si a est premier et ne divise pas b. Avec 10=2*5 tu es refait car
2 peut diviser b et 5 diviser c mais 10 ne divise ni b ni c.
En ce qui concerne python c'est un langage qui n'est pas fait pour traiter correctement les rationnels, sauf à utiliser un module supplémentaire. Par exemple on peut obtenir les surprises suivantes:
>>> 2/3
0
>>> 2./3
0.6666666666666666
Normal, c'est IEE754 (de mémoire).
sinon on a le type Fraction :
#!/usr/bin/env python3
from fractions import Fraction
def ftest(n, m):
return Fraction(1, n) + Fraction(1, m) == Fraction(1, 10) if n*m != 0 else False
E = set()
for n in range(0, 200):
for m in range(0, 200):
if ftest(n, m):
print(f"({n}, {m})")
E |= { frozenset({ n, m }) }
print(E)