求一个数的因数个数模板(C++)

求一个数的因数个数模板(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;
}
发布了11 篇原创文章 · 获赞 2 · 访问量 4013

猜你喜欢

转载自blog.csdn.net/qq_39657434/article/details/104180566