loading...

re: Challenge: find 'Kaprekar numbers' VIEW POST

TOP OF THREAD FULL DISCUSSION
re: Here's my Ruby novice solution -- Works for the known oddballs (4879, 5292, 38962). Prepending '0' to odd-sized numbers inspired by others here. ...
 

I don't like the exceptions (4879, 5292, 38962...) -- it feels like they don't belong in the sequence. And look how pretty the code is without them!

  def kaprekar?(k)
    s = k.to_s.size
    k_sq = (k**2).to_s
    k_sq.prepend("0") if (k_sq.size.even? == false)
    part1 = k_sq[0..s-1].to_i
    part2 = k_sq[s..-1].to_i
    return true ? k == part1 + part2 : false
  end
Code of Conduct Report abuse