>>882
dec2n n = concat . (map show) . reverse . sub
where sub 0 = []
sub num = mod num n : sub (div num n)
main = do
let n=2
putStr "Input integer : "
str <- getLine
let num = read str
putStrLn $ dec2n n num

Haskellだと一京一も2進数にしてくれた。

Prelude> main
Input integer : 10000000000000001
100011100001101111001001101111110000010000000000000001

ゆえに一京めは

11122211112212222112112212222221111121111111111111112