代码:
#include <stdio.h>
#include <string.h>
#include <math.h>
#define MAX 1000000
int is_prime[MAX+5] = {1}; //is_prime[i]是素数为1,不是素数为0
int prime_num[MAX]; //prime_num[i]是第i个素数
int main() {
int len = 0;
//memset(is_prime, 1, sizeof(is_prime));
is_prime[0] = is_prime[1] = 0;
for(int i=2; i*i<MAX; i++) {
if(is_prime[i]) {
for(int j=i*i; j<MAX; j+=i) {
is_prime[j] = 0;
}
}
}
for(int i=2; i<MAX; i++) {
if(is_prime[i])
prime_num[len++] = i;
}
int flag = 0;
for(int i=0; i<len; i++) {
printf("%d,", prime_num[i]);
flag++;
if(flag==10) {
flag = 0;
puts("");
}
}
return 0;
}