Product of min and max prime factors: Difference between revisions

m
m (→‎{{header|AppleScript}}: Dedicated primeFactors handler. Multiplications moved to task code.)
Line 734:
 
=={{header|Haskell}}==
<syntaxhighlight lang=haskell>import Data.List.Split (chunksOfintercalate, transpose)
import Data.List.Split (chunksOf)
import Data.Numbers.Primes (primeFactors)
import Text.Printf (printf)
 
 
----------- PRODUCT OF MIN AND MAX PRIME FACTORS ---------
 
f = ((*) . head <*> last) . primeFactors
 
 
--------------------------- TEST -------------------------
main :: IO ()
main =
putStrLn $
(mapM_table print" . " $ (chunksOf 10 . take 100) $ fmap show $
1 : (((*) . minimum <*> maximum) . primeFactors <$> [2 ..])</syntaxhighlight>
1 : (f <$> [2 ..])
 
 
------------------------- DISPLAY ------------------------
 
table :: String -> [[String]] -> String
table gap rows =
let ws = maximum . fmap length <$> transpose rows
pw = printf . flip intercalate ["%", "s"] . show
in unlines $ intercalate gap . zipWith pw ws <$> rows</syntaxhighlight>
{{Out}}
<pre>[ 1, 4, 9, 4, 25, 6, 49, 4, 9, 10]
[ 121, 6, 169, 14, 15, 4, 289, 6, 361, 10]
[ 21, 22, 529, 6, 25, 26, 9, 14, 841, 10]
[ 961, 4, 33, 34, 35, 6, 1369, 38, 39, 10]
[1681, 14, 1849, 22, 15, 46, 2209, 6, 49, 10]
[ 51, 26, 2809, 6, 55, 14, 57, 58, 3481, 10]
[3721, 62, 21, 4, 65, 22, 4489, 34, 69, 14]
[5041, 6, 5329, 74, 15, 38, 77, 26, 6241, 10]
[ 9, 82, 6889, 14, 85, 86, 87, 22, 7921, 10]
[ 91, 46, 93, 94, 95, 6, 9409, 14, 33, 10]</pre>
 
=={{header|J}}==
9,655

edits