0votos

Factores primos en Haskell

por josejuan hace 3 años

f n = head [p : f (n ÷ p) | p <- [2..], n % p == 0]

Descomponer un numero positivo (>0) para obtener todos sus divisores.

1
2
3
4
5
6
7
8
9
10
11
12
13
f 1 = [] 
f n = head [p : f (n ÷ p) | p <- [2..], n % p == 0] 
 
-- Por supuesto la eficiente es usar http://hackage.haskell.org/package/primes 
 
{- 
 
Por ejemplo: 
 
*Main> f 2349672345782 
[2,31,349,1069,101581] 
 
-} 

Comenta la solución

Tienes que identificarte para poder publicar tu comentario.