Project Euler

Problem #63

The 5-digit number, 16807=7^(5), is also a fifth power. Similarly, the 9-digit number, 134217728=8^(9), is a ninth power.

How many n-digit positive integers exist which are also an nth power?

Ruby: Running time = 0.023s
def p63
  c=0
  i=1
  m=1
  while m<10
    c+=(m..9).select{|j|(j**i).to_s.length==i}.length
    i+=1
    m+=1 until ((m**i).to_s.length==i or m==10)
  end
  puts c
end