【20分】E. 五位以内的对称素数(循环)
题目描述
判断一个数是否为对称且不大于五位数的素数。
意思是小于100,000的数
输入
第一行:测试数据组数T
接下来包含T行,每行由1个不大于五位数的正整数构成。
输出
对于每个正整数,如果该数是不大于五位数的对称素数,则输出”Yes”,否则输出”No”,每个判断结果单独列一行。
样例查看模式 正常显示查看格式
输入样例1 3 11 101 272
输出样例1 Yes Yes No
int dui(int n)
{
int a,b=0;
do
{
a=n%10;
b=b*10+a;
n/=10;
}while(n);
return b;
}
int su(int n)
{
int j,i;
for(i=2;i<=n/2;i++)
{
if(n%i==0)
return 0;
}
if(n==1)
return 0;
return 1;
}
#include<stdio.h>
int main()
{
int t,i,input;
scanf("%d",&t);
for(i=0;i<t;i++)
{
scanf("%d",&input);
if(input<100000&&dui(input)==input&&su(input)==1)
printf("Yes\n");
else
printf("No\n");
}
return 0;
}
这里注意通过两个函数来实现判断是否对称与是否为素数!!!