Description
判断一个数是否为对称且不大于五位数的素数。
Input
输入数据含有不多于50个的正整数(0<n<2
32)。
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;
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;
}
转载请注明原文地址: https://ju.6miu.com/read-13171.html