Sha256: 44f32f54885413317f097daae0ad4e9d0ff758b2d25f31c4f8681413a203cdb1

Contents?: true

Size: 237 Bytes

Versions: 11

Compression:

Stored size: 237 Bytes

Contents

# coding: utf-8
class Integer
  def perfect_power?
    return false unless positive?
    return true if self == 1
    divisors = self.divisors
    (2..Math.log2(self)).any? { |pow| divisors.any? {|div| (div ** pow) == self} } 
  end
end

Version data entries

11 entries across 11 versions & 1 rubygems

Version Path
numb-0.152.0 lib/numb/perfect_power.rb
numb-0.138.0 lib/numb/perfect_power.rb
numb-0.125.0 lib/numb/perfect_power.rb
numb-0.114.0 lib/numb/perfect_power.rb
numb-0.111.0 lib/numb/perfect_power.rb
numb-0.109.0 lib/numb/perfect_power.rb
numb-0.99.0 lib/numb/perfect_power.rb
numb-0.96.0 lib/numb/perfect_power.rb
numb-0.89.0 lib/numb/perfect_power.rb
numb-0.84.0 lib/numb/perfect_power.rb
numb-0.77.0 lib/numb/perfect_power.rb