求助:关于P1217回文质数的问题

学术版

是青白呀 @ 2020-12-20 14:37:12

rt

下程序运行错误

求助

#include<bits/stdc++.h>
using namespace std;
int a,b,cnt=0,z[15];
int num[1000000];
bool zhi(int w)
{
    for(int i=2;i<=sqrt(w);i++)
    {
        if(w%i==0)return false;
    }
    return true;
}
void run(int x,int y)
{
    if(x-1==(y+1)/2)
    {
        int t;
        for(int i=1;i<=y;i++)
        {
            t=10*t+z[i];
        }
        if(a<=t&&b>=t)
        {
            if(zhi(t))  
            {
                num[++cnt]=t;
                return;
            }   
        }
    }
    for(int i=0;i<=9;i++)
    {
        if(x>1||(x==1&&i==1||i==3||i==5||i==7||i==9))
        {
            z[x]=i;
            z[y-x+1]=i;
            run(x+1,y);
        }
    }
    return; 
}
int main()
{
    scanf("%d%d",&a,&b);
    for(int i=1;i<=9;i++)
    {
        run(1,i);
    }
    for(int i=1;i<=cnt;i++)
    {
        printf("%d\n",num[i]);
    }
    return 0;
}

by CGDGAD @ 2020-12-20 14:39:09

发在这里 https://www.luogu.com.cn/discuss/lists?forumname=P1217


|