L1-028

L1-028 判断素数 (10 分)
本题的目标很简单,就是判断一个给定的正整数是否素数。

输入格式:

输入在第一行给出一个正整数N(≤ 10),随后N行,每行给出一个小于2
​31
​​ 的需要判断的正整数。

输出格式:

对每个需要判断的正整数,如果它是素数,则在一行中输出Yes,否则输出No。

输入样例:

2
11
111

输出样例:

Yes
No
#include <iostream>
#include <cmath>

using namespace std;

typedef long long ll;

bool is_prime(ll num)
{
    if (num == 1)
        return false;
    int n = sqrt(num);
    for (int i = 2; i  <= n; ++i)
        if (num % i == 0)
            return false;
    return true;
}

int main()
{
    int N;
    ll num;
    cin >> N;
    while (N-- && cin >> num)
    {
        if (is_prime(num))
            cout << "Yes";
        else
            cout << "No";
        if (N)
            cout << endl;
    }
    return 0;
}

猜你喜欢

转载自blog.csdn.net/weixin_43231262/article/details/88624125