Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.util.*;
- public class Prime {
- public static void main(String[] args) {
- Scanner s = new Scanner(System.in);
- int a = s.nextInt();
- long startTime = System.currentTimeMillis();
- long elapsedTime = 0L;
- System.out.println(largePrime(a));
- System.out.println(smallPrime(a));
- System.out.println(primeFactor(a));
- elapsedTime = (new Date()).getTime() - startTime;
- System.out.println("Time to execute: " + elapsedTime / 1000.0 + " s");
- }
- public static int largePrime(int n) {
- int i = n + 1;
- while (!isPrime(i)) {
- i++;
- }
- return i;
- }
- public static int smallPrime(int n) {
- int i = n - 1;
- while (!isPrime(i)) {
- i--;
- }
- return i;
- }
- public static int primeFactor(int n) {
- int lpf = 0;
- if (isPrime(n)) {
- return n;
- } else {
- for (int i = 2; i < Math.sqrt(n) + 1; i++) {
- if (n % i == 0) {
- if (isPrime(n/i)) {
- return (n/i);
- } else if (isPrime(n)) {
- lpf = n;
- }
- }
- }
- return lpf;
- }
- }
- public static boolean isPrime(int n) {
- if (n == 2 || n == 3) {
- return true;
- } else if (n % 6 == 1 || n % 6 == 5) {
- for (int i = 5; i < Math.sqrt(n) + 1; i++) {
- if (n % i == 0) {
- return false;
- }
- }
- return true;
- } else {
- return false;
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement