Data commit
This commit is contained in:
parent
7387c8f97b
commit
cb5bb5e222
199093 changed files with 3378972 additions and 0 deletions
|
|
@ -0,0 +1,5 @@
|
|||
factorize n = [ d | p <- [2..n], isPrime p, d <- divs n p ]
|
||||
-- [2..n] >>= (\p-> [p|isPrime p]) >>= divs n
|
||||
where
|
||||
divs n p | rem n p == 0 = p : divs (quot n p) p
|
||||
| otherwise = []
|
||||
11
Task/Prime-decomposition/Haskell/prime-decomposition-2.hs
Normal file
11
Task/Prime-decomposition/Haskell/prime-decomposition-2.hs
Normal file
|
|
@ -0,0 +1,11 @@
|
|||
import Data.Maybe (listToMaybe)
|
||||
import Data.List (unfoldr)
|
||||
|
||||
factorize :: Integer -> [Integer]
|
||||
factorize n
|
||||
= unfoldr (\n -> listToMaybe [(x, div n x) | x <- [2..n], mod n x==0]) n
|
||||
= unfoldr (\(d,n) -> listToMaybe [(x, (x, div n x)) | x <- [d..n], mod n x==0]) (2,n)
|
||||
= unfoldr (\(d,n) -> listToMaybe [(x, (x, div n x)) | x <-
|
||||
takeWhile ((<=n).(^2)) [d..] ++ [n|n>1], mod n x==0]) (2,n)
|
||||
= unfoldr (\(ds,n) -> listToMaybe [(x, (dropWhile (< x) ds, div n x)) | n>1, x <-
|
||||
takeWhile ((<=n).(^2)) ds ++ [n|n>1], mod n x==0]) (primesList,n)
|
||||
|
|
@ -0,0 +1,6 @@
|
|||
factorize n = divs n primesList
|
||||
where
|
||||
divs n ds@(d:t) | d*d > n = [n | n > 1]
|
||||
| r == 0 = d : divs q ds
|
||||
| otherwise = divs n t
|
||||
where (q,r) = quotRem n d
|
||||
Loading…
Add table
Add a link
Reference in a new issue