Ternas coprimas
Definir la lista
1 |
ternasCoprimas :: [(Integer,Integer,Integer)] |
cuyos elementos son ternas de primos relativos (a,b,c) tales que a < b y a + b = c. Por ejemplo,
1 2 3 4 |
λ> take 7 ternasCoprimas [(1,2,3),(1,3,4),(2,3,5),(1,4,5),(3,4,7),(1,5,6),(2,5,7)] λ> ternasCoprimas !! 300000 (830,993,1823) |
Soluciones
1 2 3 4 5 6 7 8 |
ternasCoprimas :: [(Integer,Integer,Integer)] ternasCoprimas = [(a,b,a+b) | b <- [1..] , a <- [1..b-1] , gcd a b == 1] -- Nota: Si a y b son coprimos, entonces también lo son a con a+b y b -- con a+b. |
Nota:
a
ya+b
son siempre coprimos, si existe und
tal qued|a
entoncesd
no divide aa+b
, ya que en dicho caso debería dividir ab
y llegamos a contradicción.