欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

线性筛质数

程序员文章站 2022-05-12 15:07:15
...

线性筛质数

#include<bits/stdc++.h>
#define maxn 100005

using namespace std;

int n,m;
int prime[maxn],v[maxn]; 
inline void primes(int n)
{
	memset(v,0,sizeof(v));
	m = 0;
	for(int i=2;i<=n;i++)
	{
		if(v[i]==0)
		{
			v[i] = i;
			prime[++m] = i;
		}
		for(int j=1;j<=m;j++)
		{
			if(prime[j]>v[i] || prime[j]>n/i) break;
			v[i*prime[j]] = prime[j];
		}
	}
}

int main()
{
    cin>>n;
    primes(n);
    for(int i=1;i<=m;i++) cout<<prime[i]<<endl;
	return 0;
}
相关标签: 板子