int count_factors(int num_intput)
{
if(num_intput == 1)
return 1;
int num_facotrs = 2;
int search = num_intput / 2;
int i = 2;
while(i <= search)
{
if (num_intput % i == 0 )
{
if (num_intput / i > i)
{
num_facotrs += 2;
}
else if(num_intput / i == i)
{
num_facotrs++;
}
else
{
break;
}
}
i++;
}
return num_facotrs;
}
当量比较大时候,这种方式比搜寻到数字的一半要快到七倍