欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

筛选法求素数(质数)

程序员文章站 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);
}