2168 - totalfrank很无聊
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; }