public class Prime{ public static void main(String[] args){ try{ int n = Integer.parseInt(args[0]); if(n <= 2){ System.err.println("N must be greater than 2"); return; } boolean[] b = new boolean[n + 1]; for(int i = 1; i < b.length; i++){ b[i] = true; } for(int i = 2; i * 2 < b.length; i++){ b[i * 2] = false; } for(int p = 3; b[p] && p * p < b.length; p += 2){ for(int i = 2; i * p < b.length; i++){ b[i * p] = false; } } for(int i = 2; i < b.length; i++){ if(b[i]) System.out.println(i); } }catch(Exception e){ System.err.println("Usage: Prime N"); } } }