题目链接: http://poj.org/problem?id=1730
题意
如果一个数x能够被表示成b^p这样的形式,称x为完美p次方数,现在给出x求最大的p使得其为一个完美p次方树
题解
利用素数分解,如果x为正数的话,最大的p就是这个数的素因子幂级数的最大公因数。
如果x为奇数的话,先转化为正数进行计算,最后将结果不断除2直到变成奇数。因为偶次方是不可能得到一个正数的。
代码
1 | t ll maxp=100003; |
题目链接: http://poj.org/problem?id=1730
如果一个数x能够被表示成b^p这样的形式,称x为完美p次方数,现在给出x求最大的p使得其为一个完美p次方树
利用素数分解,如果x为正数的话,最大的p就是这个数的素因子幂级数的最大公因数。
如果x为奇数的话,先转化为正数进行计算,最后将结果不断除2直到变成奇数。因为偶次方是不可能得到一个正数的。
1 | t ll maxp=100003; |
WeChat Pay
Alipay