Factors of an integer: Difference between revisions

m
→‎Haskell List comprehension: Removed redundant import, applied hlint
m (added category: Prime numbers)
m (→‎Haskell List comprehension: Removed redundant import, applied hlint)
Line 2,041:
 
A version of the above without the need for sorting, making it to be ''online'' (i.e. productive immediately, which can be seen in GHCi); factors in increasing order:
<lang Haskell>importfactorsO Data.Listn =
ds ++
factors_o n = ds ++ [r | (d,0) <- [divMod n r], r <- r:[d | d>r]] ++ reverse (map (n `div`) ds)
[ wherer
| (d, 0) <- [divMod n r]
r = floor (sqrt (fromIntegral n))
, r <-
ds = [i | i <- [1..r-1], mod n i == 0]</lang>
r :
[ d
| d > r ] ] ++
reverse (map (n `div`) ds)
where
r = floor (sqrt (fromIntegral n))
ds =
[ i
| i <- [1 .. r - 1]
ds = [i | i <- [1..r-1], mod n i == 0 ]</lang>
Testing:
<lang Haskell>*Main> :set +s
9,655

edits