関数型プログラミング ..
430:デフォルトの名無しさん
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
5206日前に更新/201 KB
担当:undef