输入一个N,3<=N<=1000000000,求<=N的最大质数和次大质数之和,这题总是时间超出限制,请教大佬如何改进
#include<stdio.h>#include<math.h>
int main()
{
int n,a,b,c,i,j,e;
while(~scanf("%d",&n))
{
a=2;
b=3;
for(i=4;i<=n;i++)
{
c=0;
e=sqrt(i);
for(j=2;j<=e;j++)
{
if(i%j==0)
{
c=1;
break;
}
}
if(c==0)
{
a=b;
b=i;
}
}
printf("%d\n",a+b);
}
return 0;
}