记录编号 |
461145 |
评测结果 |
AAAAAAAAA |
题目名称 |
[USACO 1.5] 回文质数 |
最终得分 |
100 |
用户昵称 |
JustWB |
是否通过 |
通过 |
代码语言 |
C++ |
运行时间 |
0.354 s |
提交时间 |
2017-10-19 07:31:48 |
内存使用 |
0.31 MiB |
显示代码纯文本
#include<iostream>
#include<cstdio>
#include<vector>
using namespace std;
int a,b,d,X;char shu[10];
void pan(int c);
bool H(int q,int h);
void zhi(int x);
int main()
{
freopen("pprime.in","r",stdin);
freopen("pprime.out","w",stdout);
scanf("%d%d",&a,&b);
if(a%2==0){a++;}
for(int i=a;i<=b;i+=2)
{
if(i==1001||i==10001||i==100001||i==1000001||i==10000001)
{
if(i*10-9<b)
{
i=i*10-9;
}
else if(b==100000000)
{
i=i*10-9;
}
}
pan(i);
X=i;
H(0,i);
}
return 0;
}
void pan(int c)
{
d=0;
if(c<10)
{
shu[0]=c+'0';return;
}
while(c>0)
{
if(c<10)
{
shu[d]=c+'0';d++;break;
}
shu[d]=c%10+'0';
c/=10;d++;
}
d-=1;
}
bool H(int q,int h)
{
if(q>=d)
{
zhi(X);
return 0;
}
if(shu[q]==shu[d])
{
d--;
H(q+1,h);
}
}
void zhi(int x)
{
for(int i=2;i*i<=x;i++)
{
if(x%i==0)
{
return;
}
}
cout<<x<<endl;return;
}