http://acm.hdu.edu.cn/showproblem.php?pid=6623
题意,给50000个1e18级别的数N,求它质因数分解里面的最小的指数(不算0)
比赛的时候给划了一个1e6以内的暴力判断,判断失效之后开平方根看看是不是质数平方,是则2不是则1。这个是题解的最后一步。
可惜没办法沿着这个思路走,就开始自闭了。
其实先暴力判断掉N的1/5次方内的质因数的指数,假如是1则直接退出了,否则要么不出现要么出现至少是2,记录剩余的数字为M。显然M是与N同级别的。
由于暴力掉了N的1/5次方内的质因数,M不可能会再有超过5的幂。接下来有好多种情况。
M是受它的最小的质数的幂限制的,那么会不会有可能是若干个p的4次方的积呢?有可能,这个时候就开四次方然后看看是不是整数。为什么不会出现p的4次方*p的5次方这种情况呢?因为M不可能会再有超过5的幂。所以假如瓶颈是4那么就全部都是4。同时因为前面筛掉了小的质因数,剩下的质因数从4000开始,不能凑够7次方。
否则瓶颈不是4,那是不是3呢?是若干个p的3次方的乘积?是的话就是3?为什么不会有p的3次方*p的4次方的情况呢?因为前面筛掉了小的质因数,剩下的质因数从4000开始,不能凑够7次方。
否则瓶颈也不是3,是不是2呢?若干个p的2次方的乘积?不会有p的2次方*p的3次方出现吗?也是一样的,因为前面筛掉了小的质因数,剩下的质因数从4000开始,不能凑够5次方。
那么还不行那就是若干个1的乘积了。