求质数的简单算法

 输入数字n,输出小于等于n的所有质数。

算法是简单的试除法,稍作优化,假设当前枚举数字为x,从2到sqrt(x)依次看看x是否能被整除,能被整除就不是质数,否则就是质数。

#include<iostream>
using namespace std;
int main() {
    int n;
    cin >> n;
    for (int i = 2; i <= n; i++) {
        bool flag = true;
        for (int j = 2; j * j <= i; j++) {
            if (i % j == 0) {
                flag = false;
                break;
            }
        }
        if (flag) {
            cout << i << " ";
        }
    }
    return 0;
}

 

posted @ 2022-07-26 20:48  blazerrr  阅读(211)  评论(0)    收藏  举报