筛选法求素数(质数)
程序员文章站
2024-03-14 20:47:05
...
//筛选法求素数
//放在数组里,如果是素数标记为1,并且打印出来
void IsPrime(int n)
{
int *pArr = (int *)malloc(n*sizeof(n));
int i = 0;
int j = 0;
assert(pArr != NULL);
for(i = 0; i < n; i++)
{
pArr[i] = i;
}
pArr[0] = pArr[1] = 0;
for(i = 2; i <= sqrt(1*n); i++)
{
for(j = j+1; j < n; j++)
{
if((pArr[j] != 0) && (j%i == 0))
{
pArr[j] = 0;
}
}
}
for(i = 2; i < n; i++)
{
if(pArr[i] != 0)
{
printf("%d ",pArr[i]);
}
}
printf("\n");
free(pArr);
}
上一篇: 统计n之内的素数个数