PFH: La semana en Exercitium (30 de septiembre de 2022)

Esta semana he publicado en Exercitium las soluciones de los siguientes problemas:

A continuación se muestran las soluciones.

1. Números libres de cuadrados

Un número es libre de cuadrados si no es divisible por el cuadrado de ningún entero mayor que 1. Por ejemplo, 70 es libre de cuadrado porque sólo es divisible por 1, 2, 5, 7 y 70; en cambio, 40 no es libre de cuadrados porque es divisible por 2²

Definir la función

tal que libreDeCuadrados x se verifica si x es libre de cuadrados. Por ejemplo,

Soluciones en Haskell

El código se encuentra en GitHub.

Soluciones en Python

El código se encuentra en GitHub.

2. Suma de los primeros números naturales

Definir la función

tal suma n es la suma de los n primeros números. Por ejemplo,

Soluciones en Haskell

El código se encuentra en GitHub.

Soluciones en Python

El código se encuentra en GitHub

3. Suma de los cuadrados de los primeros números naturales

Definir la función

tal que sumaDeCuadrados n es la suma de los cuadrados de los primeros n números; es decir, 1² + 2² + … + n². Por ejemplo,

Soluciones en Haskell

El código se encuentra en GitHub.

Soluciones en Python

El código se encuentra en GitHub.

4. Suma de cuadrados menos cuadrado de la suma

Definir la función

tal que euler6 n es la diferencia entre el cuadrado de la suma de los n primeros números y la suma de los cuadrados de los nprimeros números. Por ejemplo,

Nota: Este ejercicio está basado en el problema 6 del proyecto Euler.

Soluciones en Haskell

El código se encuentra en GitHub.

Soluciones en Python

El código se encuentra en GitHub.

5. Triángulo aritmético

Los triángulos aritméticos se forman como sigue

Definir las funciones

tales que

  • linea n es la línea n-ésima de los triángulos aritméticos. Por ejemplo,

  • triangulo n es el triángulo aritmético de altura n. Por ejemplo,

Soluciones en Haskell

El código se encuentra en GitHub.

Soluciones en Python

El código se encuentra en GitHub.

6. Suma de divisores

Definir la función

tal que sumaDivisores x es la suma de los divisores de x. Por ejemplo,

Soluciones en Haskell

El código se encuentra en GitHub.

Soluciones en Python

El código se encuentra en GitHub.