Advertisement
Guest User

Untitled

a guest
Sep 16th, 2019
95
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.95 KB | None | 0 0
  1. import java.util.*;
  2.  
  3. public class PrimeNumber {
  4.  
  5. private List<Integer> sieve(int m) {
  6. List<Integer> p = new ArrayList<Integer>();
  7. if (m <= 1) { return p; }
  8. boolean[] ary = new boolean[m+1];
  9. Arrays.fill(ary, 2, m+1, true);
  10. for (int i = 2; i <= m; i++) {
  11. if (ary[i]) {
  12. p.add(i);
  13. for (int j = i * 2; j <= m; j += i) {
  14. ary[j] = false;
  15. }
  16. }
  17. }
  18. return p;
  19. }
  20.  
  21. private boolean checkPrime(int n, List<Integer> p) {
  22. if (p.size() == 0) { return true; }
  23. for (int i = p.size()-1; i >= 0; i--) {
  24. if (n % p.get(i) == 0) { return false; }
  25. }
  26. return true;
  27. }
  28.  
  29. public String isPrime(int n) {
  30. if (n <= 1) { return "Not prime"; }
  31. int m = (int)Math.sqrt(n);
  32. List<Integer> primes = sieve(m);
  33. return checkPrime(n, primes) ? "Prime" : "Not prime";
  34. }
  35. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement