Representaciones de un número como suma de dos cuadrados
Definir la función
1 |
representaciones :: Integer -> [(Integer,Integer)] |
tal que representaciones n
es la lista de pares de números naturales (x,y) tales que n = x² + y². Por ejemplo.
1 2 3 4 |
representaciones 20 == [(2,4)] representaciones 25 == [(0,5),(3,4)] representaciones 325 == [(1,18),(6,17),(10,15)] length (representaciones (10^14)) == 8 |
Comprobar con QuickCheck que un número natural n se puede representar como suma de dos cuadrados si, y sólo si, en la factorización prima de n todos los exponentes de sus factores primos congruentes con 3 módulo 4 son pares.
Read More «Representaciones de un número como suma de dos cuadrados»