-- 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)