您的位置:首页 > 其它

oj练习--五位以内的对称素数

2017-03-09 16:24 246 查看

Description

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

Input

输入数据含有不多于50个的正整数(0<n<232)。

Output

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

Sample Input

11 101 272

Sample Output

Yes
Yes
No

 

#include <stdio.h>
#include <math.h>

int main()
{
int a,k,i,n,b[10];
while(scanf("%d",&a)!=EOF)
{
k=(int)sqrt(a);
for(i=2; i<=k; i++)
{
if(a%i==0)
break;
}
if(i<=k)
printf("No\n");
else
{
for(i=1; i<100; i++)
{
n=i;
if((a/10)!=0)
{
i++;
a=a/10;
}

else
break;
}
if(n>5)
printf("No\n");
else
{
for(i=0; i<n;i++)
b[i]=a%10;
if(n==2)
{
if(b[0]==b[1])
printf("Yes\n");
else
printf("No\n");
}
if(n==3)
{
if(b[0]==b[2])
printf("Yes\n");
else
printf("No\n");

}
if(n==4)
{
if(b[0]==b[3]&&b[1]==b[2])
printf("Yes\n");
else
printf("No\n");
}
if(n==5)
{
if(b[0]==b[4]&&b[1]==b[3])
printf("Yes\n");
else
printf("No\n");
}
}

}

}
return 0;
}


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