2168 - totalfrank很无聊

通过次数

0

提交次数

0

时间限制 : 1 秒 内存限制 : 128 MB

totalfrank最近很无聊,他看到每一个数都会分解质因数,如果是素数他就会很开心。请你判断给出的数是否是素数?

题目输入

多组输入样例,每个样例包含一个整数n (n <= 10000)

题目输出

对应每个样例输出一行,如果对应的输入是素数,则输出"YES",否则输出"NO"

输入/输出样例

输入格式

2
3
4

输出格式

YES
YES
NO

C++解答

#include <iostream>
#include <stdio.h>
#include <string.h>

using namespace std;

int isprime[10005];
int main() {
	//freopen("totalfrank.in", "r", stdin);
	//freopen("totalfrank.out", "w", stdout);
	
  memset(isprime, true, sizeof(isprime));
  isprime[1] = 0;
  isprime[0] = 0;
  for (int i = 2; i <= 100; i++) {
    if (isprime[i])
      for (int j = 2; i * j <= 10000; j++) {
        isprime[i * j] = 0;
      }
  }
  int q;
  while (~scanf("%d", &q)) {
    if (isprime[q]) {
      puts("YES");
    } else {
      puts("NO");
    }
  }
  return 0;
}