完美素数
Time Limit: 1000ms Memory limit: 65536K 有疑问?点这里^_^
题目描述
我们定义:如果一个数为素数,且这个数中含有7或3,那么我们称这个数为完美素数。素数的定义为:一个大于1的自然数,除了1和它本身外,不能被其他自然数整除。我们的任务是判断一个数是不是完美素数,是输出YES,否则输出NO .
输入
输入数据有多组测试用例,每组测试的第一行为一个整数n(1<=n<=100),下面n行每行有一个正整数x(2<=x<=1000)。
输出
每组测试用例输出n行,如果是输出YES,否则输出NO
示例输入
3
7
20
43
2
29
73
示例输出
YES
NO
YES
NO
YES#include <stdio.h>
#include <cstdlib>
#include <cstring>
#include <iostream>
#include <cmath>
#include <queue>
#include <stack>
#include <algorithm>
#define INF 0x3f3f3f3f
using namespace std;
const int Max=100000;
bool prime(int x)
{
for(int i=2;i*i<=x;i++)
{
if(x%i==0)
return false;
} return true;
} int main()
{
int n,x;
bool flag;
while(~scanf("%d",&n))
{
while(n--)
{
scanf("%d",&x);
if(!prime(x))
{
printf("NO\n");
}
else
{
flag=false;
while(x)
{
if(x%10==3||x%10==7)
{
printf("YES\n");
flag=true;
break;
}
x/=10;
}
if(!flag)
{
printf("NO\n");
}
} }
} return 0;
}
版权声明:本文为博主原创文章,未经博主允许不得转载。