回 帖 发 新 帖 刷新版面

主题:新题:完全p方数

Perfect Pth Powers

Time Limit: 1 Seconds     Memory Limit: 32768 K

Total Submit:260     Accepted:24

--------------------------------------------------------------------------------

Description

我们常常说:如果x=a^2,那么x就是完全平方数,同样,如果x=a^3,x就是完全立方数,更加普通的来说,x是完全p方数,如果x=b^p.一个整数x给你,让你求最大的p,使得x是完全p方数.



Input

每个测试数据由包含x的一行开始,x范围在2~2^32 也就是c语言中int的范围,当输入0,表示程序结束.

Output

对应每组数据,输出最大的p,使x为完全p方数.


Sample Input


17
1073741824
25
0

Sample Output


1
30
2

Source

G. V. Cormack

Hint

不要超时,数据最大达到2^32,大约在4*10^10,请大家测试好数据.不要死算.

回复列表 (共3个回复)

沙发

哦?好难啊!我不知道怎么算啊!

板凳

分解质因数,x = 2^a1 * 3^a2 * 5^a3 ...
对数列a1,a2,a3...求最大公约数p,则b = 2^(a1/p) * 3^(a2/p) * ...
满足x = b ^ p,

质因数分解过程复杂度不超过O(n^0.5)

3 楼

楼上行不通

我来回复

您尚未登录,请登录后再回复。点此登录或注册