最后一个MLE
查看原帖
最后一个MLE
218974
wsadjkl0楼主2021/3/22 16:28

欧拉筛

#include<stdio.h>
int a[100000001];
int c[100000001];
int count=0;
void check(int n)//线筛
{
int i,j;
for(i=2;i<=n;i++)
{
if(!a[i]) c[count++]=i;
for(j=0;j<count&&i*c[j]<=n;j++)
{
a[i*c[j]]=i;
if(i%c[j]==0) break;
}
}
}

int symmetry(int x)//翻转
{
int a=0,b=0;
while(x!=0)
{
a=x%10;
x=x/10;
b=(b+a)*10;
}

b/=10;
return b;
}

int main()
{
int a,b,i;
scanf("%d %d",&a,&b);
check(b);
for(i=2;i<count;i++)
{
if(c[i]>=a)
{
if(c[i]==symmetry(c[i]))
printf("%d\n",c[i]);
}
}


return 0;
}

2021/3/22 16:28
加载中...