题解 | #质数因子#

质数因子

http://www.nowcoder.com/practice/196534628ca6490ebce2e336b47b3607

line = STDIN.gets().to_i
ls = ""
last_index = 2
new_line = line.clone
(0...Math.sqrt(line)).each do |t|
one_flag = false
(2..Math.sqrt(line)).each{|i|
flag = false
while (new_line % i == 0) do
ls += "#{i} "
new_line = (new_line / i).to_i
flag = true
one_flag = true
last_index = i
break
end

    break if flag
}  
if !one_flag
    if ls == ""
        ls = line.to_s 
    else
        ls += new_line.to_s if new_line != 1
    end
    break
end

end
puts ls.delete("\n")

全部评论

相关推荐

点赞 收藏 评论
分享
牛客网
牛客企业服务