#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include<math.h>
#include <map>
#include <string>
#include<iostream>
#include<vector>
#include<algorithm>
const int MAXSIZE = 1000;
int is_prime[MAXSIZE];
int prime[MAXSIZE];
//判断是否是一个素数 Mark 标记数组 index 素数个数
int Prime(){
int index = 0;
memset(is_prime,0,sizeof(is_prime));
for(int i = 2; i < MAXSIZE; i++)
{
//如果未标记则得到一个素数
if(is_prime[i] == 0){
prime[index++] = i;
}
//标记目前得到的素数的倍数为非素数
for(int j = i; j < MAXSIZE; j += i)
{
is_prime[j] = 1;
}
}
return index;
}
int main()
{
int n = Prime();
for(int i = 0; i < n; i++) {
printf("%d ", prime[i]);
if(i % 5 == 0) {
printf("\n");
}
}
return 0;
}
素数筛法
最新推荐文章于 2019-09-18 15:28:52 发布