盆友们,C++任务,真的不会

xiaoou33对既是素数又是回文的数特别感兴趣。比如说151既是素数又是个回文。现在xiaoou333想要你帮助他找出某个范围内的素数回文数,请你写个程序找出 a 跟b 之间满足条件的数。(5 <= a < b <= 1000); 

输入
这里有许多组数据,每组包括两组数据a跟b。 
    当输入a, b均为0时表示输入结束。

输出
对每一组数据,按从小到大输出a,b之间所有满足条件的素数回文数(包括a跟b)每组数据之后空一行。 

样例输入 Copy
5 12
11 13
0 0
样例输出 Copy
5
7
11

11
提交讨论版

#include
using namespace std;
int main()
{
int a,b,x[1000]={0},i,j,count,y,z;
int p=1;//while循环开关
int n=0;//累计存入数组的素数回文数数量
while(p){
cin>>a>>b;
if(a==0&&b==0)
break;
for(i=a;i<=b;i++)
{count=1;
for(j=2;j<i;j++)
if(i%j==0)
{count=0;
break;
}
if(count==1&&i>=2&&i<10)
{x[n]=i;
n++;}
else if(i<100)
{y=i%10;
z=i/10;
if(y==z)
{x[n]=i;
n++;
}
}
else if(i<1000)
{y=i%10;
z=i/100;
if(y==z)
{x[n]=i;
n++;
}
}
}
}
for(i=0;i<n;i++)
{cout<<x[i]<<'\n';}
return 0;
}