Let's write β

趣味で書いたこととか、RustとLispが好き

Haskell手習い

双六において、n番目のマスに停止するためのサイコロの目のでかたは何通りあるのか?という
問題がありまして、簡単な再帰なのでHaskellの練習につかえればとおもってやってみました。

import Control.Monad

findPatterns n 
        | n < 0 = 0
        | n <= 1 = 1
        | otherwise = findPatterns (n-1) + 
                findPatterns (n-2) + 
                findPatterns (n-3) + 
                findPatterns (n-4) + 
                findPatterns (n-5) + 
                findPatterns (n-6)

main = do
        line <- getLine 
        let num = read line ::Int
        when (num > 0) $ do
                        putStrLn $ show $ findPatterns num 
                        main

僕が働いているAzit.incでは一緒に働けるエンジニアを募集しています!
採用情報 — 株式会社アジット|Azit Inc.