1-n之间素数求和超时,怎么优化
int IsPrime(int num) //求素数{
int i,a=1;
if(num==1) a=0;
for(i=2;i<=sqrt(num);i++)
{
if(num%i==0) a=0;
}
return a;
}
int SumPrime(int num) //求1-n之间所有的素数之和
{
int sum=0,i;
for(i=1;i<=num;i++)
{
if(IsPrime(i)==1) sum=sum+i;
}
return sum;
}