R作者markmcm (Markmcm)
看板Ruby
标题[心得] 最大公约数
时间Thu Apr 14 09:13:17 2011
def gcd(n)
n.map!{|s| s.to_i}
n.sort!
small = n.shift
big = n.shift
while true
while(small!=0)
big, small = small, big % small
end
if(!n.empty?)
big, small = n.shift, big
else
break
end
end
big
end
puts gcd(ARGV)
算是初学者练习,所以行数还没有很精简。
==修改==
有高手吐嘈已经有GCD功能了(逃,所以改成这样
n = ARGV.map { |i| i.to_i }.sort!
gcd = n.shift
until(n.empty?) do gcd.gcd(n.shift) end
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 163.29.185.99
※ 编辑: markmcm 来自: 163.29.185.99 (04/14 09:55)
※ 编辑: markmcm 来自: 163.29.185.99 (04/14 09:55)