fork download
  1. import java.util.*;
  2.  
  3. public class Main {
  4.  
  5. static ArrayList<Integer> sieve(int n) {
  6. if (n < 2) return new ArrayList<>();
  7. boolean[] prime = new boolean[n + 1];
  8. Arrays.fill(prime, true);
  9. prime[0] = false;
  10. prime[1] = false;
  11. for (int p = 2; p * p <= n; p++) {
  12. if (prime[p]) {
  13. for (int i = p * p; i <= n; i += p) prime[i] = false;
  14. }
  15. }
  16. ArrayList<Integer> out = new ArrayList<>();
  17. for (int i = 2; i <= n; i++) if (prime[i]) out.add(i);
  18. return out;
  19. }
  20.  
  21. static ArrayList<Integer> sieveRange(int start, int end) {
  22. if (end < 2) return new ArrayList<>();
  23. ArrayList<Integer> all = sieve(end);
  24. ArrayList<Integer> res = new ArrayList<>();
  25. for (int v : all) if (v >= start) res.add(v);
  26. return res;
  27. }
  28.  
  29. public static void main(String[] args) {
  30. int l = 1;
  31. int r = 100;
  32. int start = l;
  33. int end = r;
  34. ArrayList<Integer> primes = sieveRange(start, end);
  35. boolean[] mark = new boolean[end + 1];
  36. for (int p : primes) {
  37. mark[p] = true;
  38. System.out.println(p);
  39. }
  40. }
  41. }
  42.  
Success #stdin #stdout 0.12s 54608KB
stdin
Standard input is empty
stdout
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