#include<iostream>
using namespace std;
int main()
{
int a[1001];
int n;
cin >> n;
for (int i = 0; i <= n; i++) //先把n个自然数按次序排列,存入数组中
a[i] = i;
a[1] = 0; //1不是素数,划去,用0表示划去
//2是素数留下来,2后面所有能被2整除的数都划去
for (int i = 2; i < n; i++) //a[i]留下
for (int j = i + 1; j <= n; j++)
if (a[i] != 0 && a[j] % a[i] == 0) //a[i]后面所有是a[i]倍数的都划去
a[j] = 0;
for (int i = 0; i <= n; i++)
if (a[i] != 0) //留下来的全部是素数
cout << a[i] << endl; //输出素数
return 0;
}
数组:筛选素数
最新推荐文章于 2024-09-03 20:45:39 发布
![](https://img-home.csdnimg.cn/images/20240711042549.png)