描述:
判断一个数是否为对称且不大于五位数的素数。
输入:输入数据两行,第一行一个整数n,满足1<n<60。第二行有n个的正整数x (0<x<2^32),以空格分隔。
输出:
对于每个x,如果该数是不大于五位数的对称素数,则输出“Yes”,否则输出“No”。每个判断结果单独列一行。
样例输入:
3
11 101 272
样例输出:
Yes
Yes
No
注释:
请注意Yes和No首字母需要大写。
#include<stdio.h>
int duiche(int x){
int b=0,c;
c=x;
int judge=1;
while(x){
b=b*10+x%10;
x=x/10;
}
if(b==c) judge=1;
else judge=0;
return judge;
}
int sushu(int x){
int judge=1;
if(x>99999||x<0) judge=0;//大于5位数或者小于0则为NO
if(x==1) judge=0;
if(x==2) judge=1;
for(int i=2;i<x;i++){
if(x%i==0){
judge=0;
break;
}
}
return judge;
}
int main(){
int n;
int a[60];
scanf("%d",&n);
if(n>60||n<1) return 0;
for(int i=0;i<n;i++){
scanf("%d",&a[i]);
}
for(int i=0;i<n;i++){
if(duiche(a[i])&&sushu(a[i])){
printf("Yes\n");
}
else printf("No\n");
}
return 0;
}