记录编号 461145 评测结果 AAAAAAAAA
题目名称 [USACO 1.5] 回文质数 最终得分 100
用户昵称 GravatarJustWB 是否通过 通过
代码语言 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;
}