埃氏筛法(素数筛选)

代码如下:

//Wecccccccc
//2021.1.6
#include <iostream>
using namespace std;
int vis[100000];
//0为素数,1为不是素数
int main() {
    
    
	int maxn;
	cin >> maxn;
	vis[0] = vis[1] = 1;//0,1都不是素数,所以赋值为1
	for (int i = 2; i <= maxn; i++) {
    
    
		if (!vis[i]) {
    
    
			for (int j = i * i; j <= maxn; j += i) {
    
    
				vis[j] = 1;
			}
		}
	}
	for (int i = 0; i <= maxn; i++) {
    
    
		if (vis[i] == 0) {
    
    
			cout << i << " ";
		}
	}
	return 0;
}

素数筛选还有一个更快的欧拉筛法,本人菜鸡,还没学会…

猜你喜欢

转载自blog.csdn.net/m0_51955470/article/details/112281218