【发布时间】:2016-12-20 00:26:42
【问题描述】:
这是原始代码。
def d_to_b(dec, bin="")
dec = dec.to_i
if (dec < 2)
bin += dec.to_s
bin = bin.reverse
return bin
else
a = dec%2
bin += a.to_s
d_to_b(dec/2, bin)
end
end
def b_to_d(bin)
bin = bin.to_s
a = (bin.length - 1)
dec = 0
i = 0
while(i <= a)
dec += (bin[i].to_i)*(2**(a-i))
i += 1
end
return dec
end
我想改进代码。让它更快,并缩短它。任何帮助,也许是更有效的算法。
【问题讨论】:
-
哦,看起来像复制品。 stackoverflow.com/questions/2339695/…
-
如果代码有效,请查看Code Review。
-
您需要首先说明您要解决的问题,而不是要求读者通过研究您的代码来尝试解决这个问题。您应该通读 SO faq
-
您能否添加示例输入和预期输出?
标签: ruby