(北化OJ)质数

[ 提交]

题目描述

判断给定的一组正整数是否为质数。

输入

第一行为测试数据的个数n,下面n行每行为一个待测试的正整数x,2≤x≤10000。

输出

对每一个待测试的正整数x,如果x是质数,输出一行yes,否则输出一行no。

样例输入

2
5
10

样例输出

yes
no
代码如下:
#include
#include
#include
using namespace std;
int main()
{
    const int n = 10000;
    bool a[10001];
    int i, j;
    int x;
    int num;
    memset(a, 1, sizeof(a));
    a[1] = 0;
    for (i = 2; i <= sqrt(n); i++)
    {
        if (a[i])
        {
            for (j = 2; j <= n / i; j++)
            {
                a[i*j] = 0;
            }
        }
    }
    cin >> x;
    for (i = 0; i < x; i++)
    {
        cin >> num;
        if (a[num])
        {
            cout << "yes"<



你可能感兴趣的:((北化OJ)质数)