// Is a number prime or not?  -- an example of using for in an algorithm
// M.S. Branicky, 09/25/2006, 09/17,20/2007

import java.util.Scanner;

public class PrimeTester {
  public static void main (String[] args) {
    Scanner input = new Scanner(System.in);
    
    int     i, n;
    boolean isPrime;

    System.out.print("Enter an integer to test for primality: ");
    n = input.nextInt();

    System.out.print( n + " is a prime? ");

    // Next, program "returns" true if n>=2 is prime; false, otherwise
    
    // prime must be >=2
    if (n < 2) { 
      isPrime = false;
    } 
    else {

      isPrime = true;

      // test all possible factors up to and including the square root of n
      i = 2;
      while (i*i <= n) {
        // if i evenly divides n, n isn't prime
        if (n%i == 0) { 
          isPrime = false;
        }
        i = i + 1;
      }
    }
    
    System.out.println( isPrime );
  
  }
}
