2021-09-01から1日間の記事一覧

Haskell入門 フィボナッチ数列を末尾再帰で速くする

参考ページ お気楽 Haskell プログラミング入門 -- fibo.hs -- 普通 fibo :: Integer -> Integer fibo n = if n == 0 || n == 1 then n else fibo (n - 1) + fibo (n - 2) -- 末尾再帰 fibo_tail :: Integer -> Integer fibo_tail n = fibo_sub n 0 1 where …

Haskell入門 1からnまでのp乗の和を求める

sum_of_power :: Integer -> Integer -> Integer sum_of_power n p = sum $ map (^p) [1..n] *Main> sum_of_power 10 1 55 *Main> sum_of_power 10 2 385 *Main> sum_of_power 100 2 338350 *Main> sum_of_power 100 3 25502500

Haskell入門(挿入ソート)

参考ページ お気楽 Haskell プログラミング入門挿入ソート 並べ替えられているリストに、 並べ替えられていない要素を適切な位置に挿入する操作を繰り返す。例 [2, 1, 4, 3]をソートする 右から畳み込む [] [3] [3, 4] [1, 3, 4] [1, 2, 3, 4] insert_elemen…