【Java8】2~Nまでに含まれる素数
エラストテネスの振るい
public class Main { public static void main(String[] args) { //2~N(100)までに含まれる素数 int N = 100; boolean[] prime = new boolean[N+1];//0~Nまで for(int i=2; i<=Math.sqrt(N); i++) { if(!prime[i]) { for(int j=i+i; j<=N; j+=i) { prime[j] = true; } } } for(int i=2; i<=N; i++) { if(!prime[i]) { System.out.print(i + " "); } } } }
実行結果
2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 53 59 61 67 71 73 79 83 89 97