求一个数的因数个数模板(C++)
虽然师哥的博客有整理的但是还是自己搞一个更舒坦,嘻嘻
int count(int n)
{
int s = 1;
for(int i = 2 ; i * i <= n ; i++)
{
if(n % i == 0)
{
int a = 0 ;
while(n % i == 0)
{
n /= i;
a++;
}
s = s * (a+1) ;
}
}
if(n > 1) s = s * 2;
return s;
}
再来个 ll 版本的,省的以后再改了
ll count(ll n)
{
ll s = 1;
for(ll i = 2 ; i * i <= n ; i++)
{
if(n % i == 0)
{
ll a = 0 ;
while(n % i == 0)
{
n /= i;
a++;
}
s = s * (a+1) ;
}
}
if(n > 1) s = s * 2;
return s;
}