摘要: 首先了解一点,求解一个数的因子个数。假设p[]数组里全部是素数,那么任何一个整数,可以唯一的表示成n=p1^x1*p2^x2*p3^x3.......*pm^xm,那么因子个数便为:(x1+1)*(x2+1)*.....*(xm+1)。给定一个整数n,求解1~~n范围内,因子个数最多的那个数,如果相同的话,取较小的。这里要认识到一点,因子数最多的那个数,根据我们上面说的,可以由素数的乘积组成。那么我们枚举素数的幂,也就是上面式子上的x1,x2,x3...xm。就可以遍历到1~~n范围内的所有可能解。假设n的取值范围是10^18次方,看起来很大是吧,对于素数2来说,2^60次方就大于10^18次 阅读全文
posted @ 2012-08-14 20:30 Accept 阅读(526) 评论(0) 推荐(0) 编辑