Maysoul @ 2023-03-16 15:13:44
最后一个点TIE了
已经处理了很多细节,有快读,质数筛有特判2,sqrt也改了
//2023/3/15
#include<bits/stdc++.h>
using namespace std;
const int MAXN=1e6+10;
int ans=0,num=0,a,b,c[MAXN];
int read()
{
int s=0,w=1;
char ch=getchar();
while(ch<'0'||ch>'9'){if(ch=='-'){w=-1;}ch=getchar();}
while(ch>='0'&&ch<='9'){s=s*10+ch-'0';ch=getchar();}
return s*w;
}
int k=0,x=0;
void hw(int h,int t)
{
for (int j=h;j<=t;j++)
{
int whole=j;
int y,z=0;
while(whole)
{
y=whole%10;
whole/=10;
z=z*10+y;
}
if(j==z)
{
c[k]=j;
k++;
}
}
}
bool flag=1;
void prime(int p)
{
if (p%2==0)
{
return;
}
for (int i=3;i*i<=p;i+=2)
{
if(p%i==0)
{
flag=0;
break;
}
}
if(flag)
{
printf("%d\n",p);
}
flag=1;
}
int main()
{
a=read(),b=read();
hw(a,b);
for (int i=0;i<k;i++)
{
prime(c[i]);
}
return 0;
}
by sidekick257 @ 2023-03-16 16:17:40
谁让你判断回文数的.......
by StarLbright40 @ 2023-03-16 16:18:32
@Maysoul 考虑位数为偶数的回文数,它们一定是 11 的倍数,所以除了 11 之外这样的数一定不是质数,在枚举时可以跳过。