Factors of an integer: Difference between revisions

→‎List comprehension: Factor, cofactor. Rearrange a list of tuples to a sorted list
(→‎{{Header|Haskell}}: List comprehension)
(→‎List comprehension: Factor, cofactor. Rearrange a list of tuples to a sorted list)
Line 1,027:
=== List comprehension ===
Naive, functional, no import
<lang Haskell>factorsfactors_naive n = [i | i <-[1..n], (mod n i) == 0]</lang>
<lang Haskell>factorsfactors_naive 6
[1,2,3,6]
</lang>
 
Factor, cofactor. Rearrange a list of tuples to a sorted list
<lang Haskell>import Data.List
tuple_to_list lt = (fst lt) ++ (snd lt)
factors_co n = sort (tuple_to_list(unzip
[ (j, (div n j)) | j <-
[i | i <-
[1..truncate (sqrt (fromIntegral n))]
, (mod n i) == 0]] ))
</lang>
<lang Haskell>factors_co 6
[1,2,3,6]
</lang>