(: `n > 10` )
① `n > 10` `to_i`, `to_s` `n`
1. `.to_i` `.to_i(n)`
2. `.join` `.to_s(n)`
`to_gray` :
def to_gray(n, k, str)
str.rjust(k + 1, '0').split('').each_cons(2).map{|d|
((d[1].to_i(n) - d[0].to_i(n)) % n).to_s(n)
}.join
end
② :
def to_n_ary(n, k, str)
a = 0
str.rjust(k, '0').split('').map{|d| ((a += d.to_i(n)) % n).to_s(n)}.join
end
n 0 ( k ):
def to_n_ary(n, k, str)
a = 0
str.sub(/^0+(?!$)/, '').split('').map{|d| ((a += d.to_i(n)) % n).to_s(n)}.join
end