Sha256: 611483d3fb85124d663f158c2732ee5a7e18307342ee50074efd8a39f4173477

Contents?: true

Size: 345 Bytes

Versions: 36

Compression:

Stored size: 345 Bytes

Contents

# coding: utf-8
class Integer
  def kaprekar?
    return true if self == 1
    sdigits = (self ** 2).digits
    (1..sdigits.size-1).each do |first|
      a = sdigits.first(first).join.to_i
      b = sdigits.last(sdigits.size-first).join.to_i
      next if [a,b].any?{|n| n.zero?}
      return true if (a + b) == self
    end
    false
  end
end

Version data entries

36 entries across 36 versions & 1 rubygems

Version Path
numb-0.186.0 lib/numb/kaprekar.rb
numb-0.185.0 lib/numb/kaprekar.rb
numb-0.184.0 lib/numb/kaprekar.rb
numb-0.181.0 lib/numb/kaprekar.rb
numb-0.170.0 lib/numb/kaprekar.rb
numb-0.152.0 lib/numb/kaprekar.rb
numb-0.138.0 lib/numb/kaprekar.rb
numb-0.125.0 lib/numb/kaprekar.rb
numb-0.114.0 lib/numb/kaprekar.rb
numb-0.111.0 lib/numb/kaprekar.rb
numb-0.109.0 lib/numb/kaprekar.rb
numb-0.99.0 lib/numb/kaprekar.rb
numb-0.96.0 lib/numb/kaprekar.rb
numb-0.89.0 lib/numb/kaprekar.rb
numb-0.84.0 lib/numb/kaprekar.rb
numb-0.77.0 lib/numb/kaprekar.rb
numb-0.72.1 lib/numb/kaprekar.rb
numb-0.72.0 lib/numb/kaprekar.rb
numb-0.68.0 lib/numb/kaprekar.rb
numb-0.63.0 lib/numb/kaprekar.rb