Count in factors: Difference between revisions

Content added Content deleted
Line 529:
 
=={{header|Haskell}}==
Using <code>factorize</code> function from the [[Prime_decomposition#Haskell|prime decomposition]] task,
<lang Haskell>primes = 2 : filter is_prime [3..]
 
<lang haskell>*Main> :m +Data.List
is_prime num = all (\x -> num `mod` x /= 0)
$ takeWhile (<= (num `div` 2)) primes
 
*Main Data.List> mapM_ print $ "1":map (intercalate " * " . map show . factorize) [2..]
-- spf = smallest prime factor
"1"
spf num = head $ dropWhile (\x -> (num `mod` x) /= 0) primes
"2"
 
"3"
factors num
"2 * 2"
|is_prime num = [num]
"5"
|otherwise = spf num : factors (num `div` spf num)
"2 * 3"
 
"7"
map factors [1..]</lang>
"2 * 2 * 2"
"3 * 3"
"2 * 5"
"11"
"2 * 2 * 3"
"13"
"2 * 7"
"3 * 5"
"2 * 2 * 2 * 2"
"17"
"2 * 3 * 3"</lang>
 
=={{header|Icon}} and {{header|Unicon}}==