Fermat numbers: Difference between revisions

Line 730:
<lang haskell>import Data.Numbers.Primes (primeFactors)
import Data.Bool (bool)
 
fermat :: Integer -> Integer
fermat = succ . (2 ^) . (2 ^)
 
fermats :: [Integer]
fermats = fermat <$> [0 ..]
 
--------------------------- TEST- ---------------------------
---------------------------TEST----------------------------
main :: IO ()
main =
Line 748 ⟶ 746:
"Factors of first 7:"
show
showFactors
((bool "(prime)" . show) <*> ((1 <) . length))
primeFactors
(take 7 fermats)
]
 
-------------------------- DISPLAY --------------------------
fTable :: String -> (a -> String) -> (b -> String) -> (a -> b) -> [a] -> String
fTable s xShow fxShow f xs =
Line 760 ⟶ 758:
where
rjust n c = drop . length <*> (replicate n c ++)
w = maximum (length . xShow <$> xs)</lang>
 
showFactors :: [Integer] -> String
showFactors x
| 1 < length x = show x
| otherwise = "(prime)"</lang>
{{Out}}
<pre>First 10 Fermats:
9,659

edits