Ruby版“Ruby太慢了”问题

2015-06-05 0 862
Ruby版“Ruby太慢了”问题
class Integer
  def reverse(a = 0)
    n = self
    while n > 0
      a = a * 10 + n % 10
      n /= 10
    end
    return a
  end

  def symmetrize(axis = false)
    reverse self / (axis ? 10 : 1)
  end

  def palindrome?
    self == reverse
  end

  def double
    self * self
  end
end

(1..10000).to_a.each do |i|
  [false, true].map {|axis|
    i.symmetrize(axis).double
  }.each {|n|
    puts n if n <= 10 ** 14 and n.palindrome?
  }
end

遇见资源网 ruby Ruby版“Ruby太慢了”问题 http://www.ox520.com/16392.html

常见问题

相关文章

发表评论
暂无评论
官方客服团队

为您解决烦忧 - 24小时在线 专业服务