Eratasthene筛选法
以打印200以内的素数为例
#include<stdio.h>
#include<math.h>
#define SIZE 200
int main(void)
{
	//定义数组时要多一个  否则会导致数组下标溢出
	int prime[SIZE+1] = { 0 };
	//外层循环调用sqrt 且从2开始 <=
	for (int  i = 2; i <= sqrt(SIZE); i++)
	{
		if (!prime[i])
		{
			//内层循环从i*i开始 <= j=j+i结束
			for (int j = i * i; j <=SIZE; j += i)
			{
				prime[j] = 1;
			}
		}
	}
	for (int i = 2; i <= SIZE; i++)
	{
		if (!prime[i])
		{
			printf("%d\t", i);
		}
	}
	return 0;
}









