以下のように3進法で足し算を行おうとしました。
lang
1irb(main):001:0> a = 4 2=> 4 3irb(main):002:0> b = 2 4=> 2 5irb(main):003:0> a = a.to_s(3) 6=> "11" 7irb(main):004:0> b = b.to_s(3) 8=> "2" 9irb(main):005:0> a + b 10=> "112" 11irb(main):006:0> (a.to_i(3) + b.to_i(3)).to_s(3) 12=> "20"
a + b で思った結果がかえってこなかったので、
(a.to_i(3) + b.to_i(3)).to_s(3)で計算しました。
一般にN(>2)進法の計算するには、
.to_i(N)→計算→.to_s(N)
としないとダメなのでしょうか?
もっと簡単にできないのでしょうか?
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2015/05/17 10:20