int* sum(int *a,int n)
{ for(int i=1;i<=n/2;i++)//循环每个数(小优化:因为i*j<=n j>=2 所以i<=n/2)
for(int j=2;i*j<=n;j++)//循环倍数(排除本身,从2开始)
a[i*j]+=i;//目标数加上约数
return a;
}
素数和函数
最新推荐文章于 2024-11-08 11:06:20 发布
int* sum(int *a,int n)
{ for(int i=1;i<=n/2;i++)//循环每个数(小优化:因为i*j<=n j>=2 所以i<=n/2)
for(int j=2;i*j<=n;j++)//循环倍数(排除本身,从2开始)
a[i*j]+=i;//目标数加上约数
return a;
}