
ZOJ Problem Set  2124
We say that x is a perfect square if, for some integer b, x = b2. Similarly, x is a perfect cube if, for some integer b, x = b3. More generally, x is a perfect pth power if, for some integer b, x = bp. Given an integer x you are to determine the largest p such that x is a perfect pth power.
Each test case is given by a line of input containing x. The value of x will have magnitude at least 2 and be within the range of a (32bit) int in C, C++, and Java. A line containing 0 follows the last test case.
For each test case, output a line giving the largest integer p such that x is a perfect pth power.
Source: University of Waterloo Local Contest 2004.01.31 