数论开始的第一题--前置知识(欧拉筛)
首先介绍欧拉筛:
//欧拉筛是通过最小质因子来筛质数的.
#include <bits/stdc++.h>
using namespace std;
const int N=1e6+5;
bool st[N];
int prime[N];
int main()
{
int n;
cin>>n;int cnt=0;
for(int i=2;i<=n;i++)
{
if(!st[i]) prime[cnt++]=i;
for(int j=0;prime[j]*i<=n;j++)
{
st[prime[j]*i]=true;
if(i%prime[j]==0) break;
}
}
for(int i=0;i<cnt;i++)
{
printf("%d ",prime[i]);
}puts("");
return 0;
}lpt的小屋 文章被收录于专栏
我想要一份甜甜的爱情
查看5道真题和解析