求因子个数:
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;
}
求因子和:
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;
}
int sum(int n)///求因子的和
{
int s=1;
for(int i=2;i*i<=n;i++)
if(n%i==0)
{
int a=1;///记录素因子的乘积
while(n%i==0)
{
n/=i;
a*=i;
}
s=s*(a*i-1)/(i-1);
}
if(n>1)
s=s*(1+n);
return s;
}