求助,程序跑的太慢
这是一个求2的32次方以内素数的程序,但是跑的太慢了,希望有大佬能帮我改一下#include<stdio.h>
#include<math.h>
int main()
{
long long int n=2;
int i;
long long int a;
for(i=0;i<32;i++)
{
n=n*2;
}
printf("%lld\n",n);
a=sqrt(n);
printf("%lld\n",a);
long long int i1,i2;
for(i1=2;i1<=a;i1++)
{
for(i2=2;i2<=i1;i2++)
{
if(i1%i2==0)
break;
}
if(i1==i2)
{
printf("%lld,",i1);
}
}
for(i2=a+1;i2<=n;i2++)
{
for(i1=2;i1<=a;i1++)
{
if(i2%i1==0)
{
break;
}
}
if(i1<=a)
{
}
else
{
printf("%lld,",i2);
}
}
return 0;
}