昨天带上机课时,听到了十进制转换为八进制这个题目,据说是数据结构的考试题,回来后想想转成什么进制的算法不都一样吗,所以用Ruby写了个脚本,才20行,真是短小。
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