#include <stdio.h>
#include <string.h>
#include <math.h>#define MAX 1000000int 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;
}
2018/03/30java重写保存:
package com.tjrac_java_2;
/*素数筛选法*/
public class IsPromeNum {static int [] IsPrime = new int[100];static int [] num = new int[100];//num等于0表示是素数public static void main(String[] args) {IsPrime[0]=IsPrime[1]=1;for(int i=2;i< 100;i++){if(IsPrime[i]==0){for(int j=i*i;j< 100;j+=i){IsPrime[j]=1;}}}for(int i=2;i<100;i++){if(IsPrime[i]==0){System.out.println(i);}}}
}