您的位置:首页 > 其它

判断一个数是否为对称且不大于五位数的素数

2016-04-16 17:25 288 查看
判断一个数是否为对称且不大于五位数的素数。

输入

输入数据含有不多于50个的正整数(0

输出

对于每个n,如果该数是不大于五位数的对称素数,则输出“Yes”,否则输出“No”。每个判断结果单独列一行。

样例输入

11 101 272

样例输出

Yes

Yes
No

注意要求,并未说明输入的数是五位数以内

#include<stdlib.h>

#include<stdio.h>
#include<string.h>

int main()
{
int N;

while(scanf("%d",&N)!=EOF)

{

if(N==0||N==1)
{
printf("No\n");
continue;
}
char a[10000];
memset(a,0,sizeof(a));
sprintf(a,"%d",N);

int i,f=1,l=strlen(a);
if(l>5)
{
printf("No\n");
continue;
}
for(i=0;i<l/2;i++)
{
if(a[i]!=a[l-i-1])
{
f=0;
break;
}
}
if(!f)
{
printf("No\n");continue;
}
int F=1,j;
for(j=2;j*j<N;j++)
{
if(!(N%j))
{
F=0;
break;
}

}
if((j*j)==N) F=0;
if(f&&F)
printf("Yes\n");
else printf("No\n");

}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: