Sha256: 1acbc4167a14aeca15732fb3768c31222ac0f8cf3462be8a37b23401494da0c1

Contents?: true

Size: 210 Bytes

Versions: 2

Compression:

Stored size: 210 Bytes

Contents

class Integer
  def n_gonal?(n)
    raise ArgumentError unless n.is_a?(Integer) and n >= 3
    return true if zero?
    x = (Math.sqrt((8*n - 16)*self + (n-4)**2) + n - 4) / (2*n - 4)
    x == x.to_i
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
numb-0.21.0 lib/numb/n_gonal.rb
numb-0.20.0 lib/numb/n_gonal.rb