首页 > 代码库 > 求因子个数和因子和

求因子个数和因子和

//求因子个数int Facnt(int n){    int res = 1;    for(int i=2;i*i<=n;i++)    {        if(n%i == 0)        {            int cnt = 0;            do            {                n /= i;                cnt++;            }while(n%i==0);            res *= (cnt+1);        }    }    if(n > 1)        res = 2*res;    return res;}//求因子和int Facsum(int n){    int res = 1;    for(int i=2;i*i<=n;i++)    {        if(n%i==0)        {            int cnt = 1;            do            {                n /= i;                cnt *= i;            }while(n%i==0);            res = res*(cnt*i-1)/(i-1);        }    }    if(n > 1)        res *= (n+1);    return res;}