E. 五位以内的对称素数(循环)

80 阅读1分钟
【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;
}

 这里注意通过两个函数来实现判断是否对称与是否为素数!!!