Ir al contenido principal

Actualización de «Menor número triangular con más de n divisores»

He actualizado las soluciones del ejercicio «Menor número triangular con más de n divisores» cuyo enunciado es


La sucesión de los números triangulares se obtiene sumando los números naturales.

x     x      x        x         x
     x x    x x      x x       x x
           x x x    x x x     x x x
                   x x x x   x x x x
                            x x x x x
1     3      6        10        15

Así, el 7º número triangular es

1 + 2 + 3 + 4 + 5 + 6 + 7 = 28.

Los primeros 10 números triangulares son

1, 3, 6, 10, 15, 21, 28, 36, 45, 55, ...

Los divisores de los primeros 7 números triangulares son:

 1: 1
 3: 1,3
 6: 1,2,3,6
10: 1,2,5,10
15: 1,3,5,15
21: 1,3,7,21
28: 1,2,4,7,14,28

Como se puede observar, 28 es el menor número triangular con más de 5 divisores.

Definir la función

menorTriangularConAlMenosNDivisores :: Int -> Integer

tal que (menorTriangularConAlMenosNDivisores n) es el menor número triangular que tiene al menos n divisores. Por ejemplo,

menorTriangularConAlMenosNDivisores 5    == 28
menorTriangularConAlMenosNDivisores 50   == 25200
menorTriangularConAlMenosNDivisores 500  == 76576500
menorTriangularConAlMenosNDivisores 1500 == 7589181600

Nota: Puedes consultar las soluciones aquí.