Improved project structure.

This commit is contained in:
2017-06-01 14:50:23 +02:00
parent 5e06b03248
commit 89f0d81598
25 changed files with 2 additions and 0 deletions

12
haskell/e003.hs Normal file
View File

@@ -0,0 +1,12 @@
-- 3 - largest prime factor
-- problem_3 :: Integer -> Integer
prims = fix (\f (x:xs) -> x:f (filter (\y -> rem y x /= 0) xs)) [2..]
get_prims :: Integer -> [Integer]
get_prims 1 = []
get_prims n = let p = head $ dropWhile (\x -> rem n x /= 0) prims
in p:get_prims (div n p)
--next_prim xs = head $ dropWhile (\y -> any (\e -> rem y e == 0) xs) [last xs + 1..]
--prims = filter (\x -> not $ any (\n -> rem x n == 0) [2..(x-1)]) [1..]
--pfactors n = [x | x <- takeWhile (\y -> y*y <= n) [2..], n `mod` x == 0, null $ pfactors x]
problem_3 :: Integer -> Integer
problem_3 x = last $ get_prims x