Advertisement
usrv

Prime

Oct 26th, 2016
238
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 1.70 KB | None | 0 0
  1. import java.util.*;
  2.  
  3. public class Prime {
  4.  
  5.     public static void main(String[] args) {
  6.         Scanner s = new Scanner(System.in);
  7.         int a = s.nextInt();
  8.  
  9.         long startTime = System.currentTimeMillis();
  10.         long elapsedTime = 0L;
  11.  
  12.         System.out.println(largePrime(a));
  13.         System.out.println(smallPrime(a));
  14.         System.out.println(primeFactor(a));
  15.  
  16.         elapsedTime = (new Date()).getTime() - startTime;
  17.         System.out.println("Time to execute: " + elapsedTime / 1000.0 + " s");
  18.     }
  19.  
  20.     public static int largePrime(int n) {
  21.         int i = n + 1;
  22.         while (!isPrime(i)) {
  23.             i++;
  24.         }
  25.         return i;
  26.     }
  27.  
  28.     public static int smallPrime(int n) {
  29.         int i = n - 1;
  30.         while (!isPrime(i)) {
  31.             i--;
  32.         }
  33.         return i;
  34.     }
  35.  
  36.     public static int primeFactor(int n) {
  37.         int lpf = 0;
  38.         if (isPrime(n)) {
  39.             return n;
  40.         } else {
  41.             for (int i = 2; i < Math.sqrt(n) + 1; i++) {
  42.                 if (n % i == 0) {
  43.                     if (isPrime(n/i)) {
  44.                         return (n/i);
  45.                     } else if (isPrime(n)) {
  46.                         lpf = n;
  47.                     }
  48.                 }
  49.             }
  50.             return lpf;
  51.         }
  52.     }
  53.  
  54.     public static boolean isPrime(int n) {
  55.         if (n == 2 || n == 3) {
  56.             return true;
  57.         } else if (n % 6 == 1 || n % 6 == 5) {
  58.             for (int i = 5; i < Math.sqrt(n) + 1; i++) {
  59.                 if (n % i == 0) {
  60.                     return false;
  61.                 }
  62.             }
  63.             return true;
  64.         } else {
  65.             return false;
  66.         }
  67.     }
  68. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement