Sumas de dos cuadrados

Definir la función

tal que (sumasDe2Cuadrados n) es la lista de los pares de números tales que la suma de sus cuadrados es n y el primer elemento del par es mayor o igual que el segundo. Por ejemplo,

Soluciones

[/schedule]

5 Comentarios

  1. Buenas! aquí un novato total en haskell que propone su primera solución:

    No se hasta que punto será eficiente, pero al menos pasa los test propuestos.

    Un saludo.

    1. En mi ordenador no es capaz de calcular el último ejemplo. En 2 segundos a lo más que llega a calcular es

    1. Buenas, puedes conseguir mejorar la eficiencia de la función haciendo unos mínimos cambios tal que así (básicamente cambiar ceiling por floor (pues un número mayor a la raíz no va a poder ser solución, y así te ahorras alguna comprobación) y poner en tercer lugar la comprobación x < y, pues de esta manera también puedes ahorrarte algunas comprobaciones en algunos casos. El quitar la definición de raiz del where se debe a que solo calculas el valor una vez y por tanto no hace falta ponerlo):

      Donde sumasDe2Cuadrados es tu definición.

      1. Habría que hacerle un pequeño arreglo a la definición anterior pues en algunos casos genera pares de más:

        Igualmente la comprobación de la eficiencia:

        Ahora sí que funciona todo bien (o eso espero).

Escribe tu solución