L1-028. 判断素数

来源:互联网 发布:remark是什么软件 编辑:程序博客网 时间:2024/05/17 07:17

本题要求:

本题的目标很简单,就是判断一个给定的正整数是否素数。

输入格式:

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

输出格式:

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

输入样例:

211111

输出样例:

YesNo

解题思路 :

注意一下时间复杂度就可以了。

代码 :

#include<iostream>#include<cmath>using namespace std;int main() {    int n;    cin >> n;    for (int i = 0; i < n; i++) {        long long m;        cin >> m;        long long time = sqrt(m);        long long k = 2;        if (m > 1 && m < 4) {            cout << "Yes" << endl;            continue;        } else if (m <= 1) {            cout << "No" << endl;            continue;        }        bool flag = true;        while (k <= time && k < m) {            if (m % k == 0) {                flag = false;                break;            }            k++;        }        if (flag) {            cout << "Yes" << endl;        } else {            cout << "No" << endl;        }    }    return 0;}
0 0