求一个数的因子个数
首先对要求的数进行质因数分解,然后求各因数的幂的积数,比如600 = 2^3 * 3^1 * 5^2 那么因子个数是(3+1)*(1+1)*(2+1) = 24
public class TestYuman{ public static void main(String[] args){ int res=get_factor(6); System.out.println(res); } public static int get_factor(int input) { int factor=1,num=input; for(int i=2;i<input/2+1;i++)//注意i的范围 { int counter=0; while(num%i==0) { num=num/i; counter++; } factor*=(counter+1); if(i>num) break; } return factor; } }