完美素数
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 "); } else { flag=false; while(x) { if(x%10==3||x%10==7) { printf("YES "); flag=true; break; } x/=10; } if(!flag) { printf("NO "); } } } } return 0; }
版权声明:本文为博主原创文章,未经博主允许不得转载。