山东理工大学第七届ACM校赛-完美素数 分类: 比赛 2015-06-26 10:36 15人阅读 评论(0) 收藏

时间:2023-03-10 01:12:44
山东理工大学第七届ACM校赛-完美素数                                                       分类:            比赛             2015-06-26 10:36    15人阅读    评论(0)    收藏

完美素数

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;
}

版权声明:本文为博主原创文章,未经博主允许不得转载。