Lah numbers: Difference between revisions

Content added Content deleted
Line 482: Line 482:
factorial (n - k)
factorial (n - k)


displayLah :: (Int, Int) -> IO ()
printLah :: (Word, Word) -> IO ()
displayLah (n, k) = do
printLah (n, k) = do
when (k == 0) (printf "\n%3d" n)
when (k == 0) (printf "\n%3d" n)
printf "%11d" (lah n k)
printf "%11d" (lah n k)
Line 490: Line 490:
main = do
main = do
printf "Unsigned Lah numbers: L(n, k):\nn/k"
printf "Unsigned Lah numbers: L(n, k):\nn/k"
mapM_ (printf "%11d") ([0..12] :: [Int])
mapM_ (printf "%11d") ([0..12] :: [Word])
mapM_ displayLah [(n, k) | n <- [0..12], k <- [0..12]]
mapM_ printLah [(n, k) | n <- [0..12], k <- [0..12]]
printf "\nMaximum value from the L(100, *) row:\n%d\n"
printf "\nMaximum value from the L(100, *) row:\n%d\n"
(maximum $ lah 100 <$> ([0..100] :: [Integer]))</lang>
(maximum $ lah 100 <$> ([0..100] :: [Integer]))</lang>