该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
求素数的函数我可以提供,但是超级素数无能为力啊
#include
long long a[10000000];
int main()
{
a[0]=0;
for(long long b=2; b<10000000; b++)
{
a[b-1]=b;
if(a[b-1]%10==5) a[b-1]=0;
if(a[b-1]%2==0) a[b-1]=0;
}
a[4]=5;
a[1]=2;
for(long long b=3; b<4000; b+=2)
{
if(a[b-1]!=0)
for(long long c=b;; c+=2)
{
int d1=c*b;
if(d1>=10000000) break;
if(c%10!=5)
{
a[d1-1]=0;
}
}
}
int w,q;
while(scanf("%d%d",&w,&q)!=EOF)
{
int aa=0;
for(int b=w; b
{
if(a[b-1]!=0)
{
if(aa==0)
printf("%d",a[b-1]);
else printf(" %d",a[b-1]);
aa=1;
}
}
if(aa==1)
printf("\n");
else printf("-1\n");
}
}
这是一千万以内的素数