Sha256: 51795cf4c7c47a097035252cdbf5350c77d818a5063d7772fde557d03e83e588

Contents?: true

Size: 240 Bytes

Versions: 16

Compression:

Stored size: 240 Bytes

Contents

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

Version data entries

16 entries across 16 versions & 1 rubygems

Version Path
numb-0.21.0 lib/numb/perfect_power.rb
numb-0.20.0 lib/numb/perfect_power.rb
numb-0.10.0 lib/numb/perfect_power.rb
numb-0.9.0 lib/numb/perfect_power.rb
numb-0.8.0 lib/numb/perfect_power.rb
numb-0.7.0 lib/numb/perfect_power.rb
numb-0.6.1 lib/numb/perfect_power.rb
numb-0.6.0 lib/numb/perfect_power.rb
numb-0.5.0 lib/numb/perfect_power.rb
numb-0.4.0 lib/numb/perfect_power.rb
numb-0.3.5 lib/numb/perfect_power.rb
numb-0.3.4 lib/numb/perfect_power.rb
numb-0.3.3 lib/numb/perfect_power.rb
numb-0.3.2 lib/numb/perfect_power.rb
numb-0.3.1 lib/numb/perfect_power.rb
numb-0.3.0 lib/numb/perfect_power.rb