#include<stdio.h>
埃氏筛法
int main()
{
int n = 0;
int i = 0, j = 0;
scanf("%d",&n);
int prime[1000] = {0};//假定所有数都是素数
prime[0] = prime[1] = 1;//0和1不是素数,把他们筛出去
for(i = 2; i < n; i++)//利用for循环筛出合数
{
if(prime[i] == 0)//本次循环筛出去的合数的一个质因数
{
for(j = 2; i*j <= n; j++)
{
prime[i*j] = 1;//j为该合数的另一个质因数,i*j为本次所筛合数
}
}
}
for(i = 2; i <= n; i++)
{
if(prime[i] == 0)//prime【i】==0,i即为素数
{
printf("%d\n",i);
}
}
return 0;
}
埃氏筛法求素数
最新推荐文章于 2024-07-14 15:36:20 发布