関数型プログラミング言語Haskell Part8at TECH
関数型プログラミング言語Haskell Part8 - 暇つぶし2ch430:デフォルトの名無しさん
08/01/14 15:26:32
教科書的に書こうとしてみたが、こんなんでいいか?
import List

-- n進数表示から整数へ
fromBaseN :: Integer -> [Integer] -> Integer
fromBaseN n ds = foldl f 0 ds
  where
    f acc d = n * acc + d

-- 整数からn進数表示へ
toBaseN :: Integer -> Integer -> [Integer]
toBaseN n 0 = [0]
toBaseN n x = reverse $ unfoldr f x
  where
    f 0 = Nothing
    f x = Just (mod x n, div x n)

-- 十進数から二進数へ
decToBin :: [Integer] -> [Integer]
decToBin = toBaseN 2 . fromBaseN 10


次ページ
続きを表示
1を表示
最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch