十進法変換Ruby実装


昨日、机械の授业に持ち込んだ时、十進法から八進法への転换という问题を闻きました.データ构造の试験问题だそうですが、帰ってきたら、どんな進数に転换するアルゴリズムも同じではないかと思って、ルビーで脚本を书きました.
def transform(num, target)
 num *= target
 output = ""
 while ((num = num / target) > 0)
  output = (num % target).to_s + output
 end
 output
end

print "       :"
oriNumStr = gets
oriNum = oriNumStr.to_i
print "       [>=2 <10]:"
oriTargetStr = gets
oriTarget = oriTargetStr.to_i
if (oriTarget >= 2 && oriTarget <10)
 puts "  :" + transform(oriNum, oriTarget)
else
 puts "   >=2 <10     "
end