怎样快速求一个数有多少个约数?

首先把这个数先用2、3、5、7、11、13、......等质数的连乘积表示。

比如24 = 2*2*2*3 = 2³ * 3再用各个质数的指数加一后再相乘即为此数的约数个数,比如 (3+1)*(1+1)=4*2=8, 即表示24有8个约数。

例如: 

1200000 = 2^7 * 3 * 5^5;

所以约数个数有(7+1) *  (1+1) * (5+1) = 8 * 2 * 6 =96;

你可能感兴趣的:(算法)