Hailstone sequence: Difference between revisions
Content added Content deleted
(add dfn version) |
m (→{{header|Haskell}}: Tidied) |
||
Line 4,451: | Line 4,451: | ||
<lang haskell>import Data.List (maximumBy) |
<lang haskell>import Data.List (maximumBy) |
||
import Data.Ord (comparing) |
import Data.Ord (comparing) |
||
-------------------- HAILSTONE SEQUENCE ------------------ |
|||
collatz :: Int -> Int |
collatz :: Int -> Int |
||
Line 4,463: | Line 4,465: | ||
longestChain = |
longestChain = |
||
fst $ |
fst $ |
||
maximumBy (comparing snd) $ |
maximumBy (comparing snd) $ |
||
(,) <*> (length . hailstone) <$> [1 .. 100000] |
|||
--------------------------- TEST ------------------------- |
--------------------------- TEST ------------------------- |
||
Line 4,470: | Line 4,473: | ||
mapM_ |
mapM_ |
||
putStrLn |
putStrLn |
||
[ "Collatz sequence for 27: " |
[ "Collatz sequence for 27: ", |
||
(show . hailstone) 27, |
|||
"The number " <> show longestChain, |
|||
"has the longest hailstone sequence", |
|||
"for any number less then 100000. ", |
|||
⚫ | |||
"The sequence has length: " |
|||
⚫ | |||
]</lang> |
]</lang> |
||
{{ |
{{Out}} |
||
<pre>Collatz sequence for 27: |
<pre>Collatz sequence for 27: |
||
[27,82,41,124,62,31,94,47,142,71,214,107,322,161,484,242,121,364,182,91,274,137,412,206,103,310,155,466,233,700,350,175,526,263,790,395,1186,593,1780,890,445,1336,668,334,167,502,251,754,377,1132,566,283,850,425,1276,638,319,958,479,1438,719,2158,1079,3238,1619,4858,2429,7288,3644,1822,911,2734,1367,4102,2051,6154,3077,9232,4616,2308,1154,577,1732,866,433,1300,650,325,976,488,244,122,61,184,92,46,23,70,35,106,53,160,80,40,20,10,5,16,8,4,2] |
[27,82,41,124,62,31,94,47,142,71,214,107,322,161,484,242,121,364,182,91,274,137,412,206,103,310,155,466,233,700,350,175,526,263,790,395,1186,593,1780,890,445,1336,668,334,167,502,251,754,377,1132,566,283,850,425,1276,638,319,958,479,1438,719,2158,1079,3238,1619,4858,2429,7288,3644,1822,911,2734,1367,4102,2051,6154,3077,9232,4616,2308,1154,577,1732,866,433,1300,650,325,976,488,244,122,61,184,92,46,23,70,35,106,53,160,80,40,20,10,5,16,8,4,2] |