上课听到的复杂度比较小的方法hhhhhh~
代码如下
//给定一个N(1 < N < 1000),请按照递增次序输出所有小于等于N的素数
//筛法(复杂度较小)
#include<iostream>
using namespace std;
int main()
{
int n;cin>>n;
bool p[n];
for(int i=2;i<=n;i++)
{
if(p[i]==0)
for(int j=i*i;j<=n;j+=i)
{
p[j]=1;
}
}
for(int i=1;i<=n;i++)
{
if(p[i]==0)cout<<i<<' ';
}
}
//例如,当i=2时,j=4,6,8,10……
//当i=3时,j=9,15,21……