#include<iostream>
using namespace std;
const int N = 100001;
int p[N];
bool vis[N];
int ans = 0;
int prime_z(int n)
{
for(int i = 2;i <= n;i++)
{
if(!vis[i])
{
p[ans++] = i;
}
for(int j = 0;p[j] <= n/i;j ++)
{
cout<<"i:"<<i<<" p["<<j<<"]*"<<i<<"="<<p[j]*i<<endl;
vis[p[j]*i] = true;
if(i%p[j]==0)break;
}
}
return ans;
}
int main()
{
int n;
cin>>n;
cout<<prime_z(n);
cout<<endl;
for(int i = 0;i < ans;i++)cout<<p[i]<<" ";
return 0;
}
质素筛线性筛法(欧拉筛法)
最新推荐文章于 2024-07-19 19:11:19 发布
![](https://img-home.csdnimg.cn/images/20240711042549.png)