Published 2022-02-24

Prime Number

All programmers came across this program once in their life. Even I also did but I wonder why nobody thought of this. In the prime number everyone creates a loop till the number < number - 1. This is correct but you can write it more efficiently. If you check till number < (number/2) is enough. Don't you think? It's a simple mathematics, a number > (number/2) will never be the multiple of that number.

                                
                                    import java.util.Scanner;

public class PrimeNumber {

  public static void main(String[] args) {

    Scanner in = new Scanner(System.in);
    System.out.println("Enter a number: ");
    int number = in.nextInt();
    in.close();
	boolean isPrime = true;
	int loopVar = number / 2;
	
	for (int x = 2; x < loopVar; x++) {
	  if (number % x == 0) {
	    isPrime = false;
	    break;
      }
    }

    if (isPrime) {
      System.out.println("The number " + number + " is a prime number.");
    } else {
      System.out.println("The number " + number + " is a NOT prime number.");
    }
  }
}