Friday, September 13, 2013

optimized way to find /check a prime number



    static boolean isPrime(int n) {
        if (n == 1) {
            return false;
        }
        if (n == 2 || n == 3) {
            return true;
        }
        if (n % 2 == 0 || n % 3 == 0) {
            return false;
        }
        if (!(n % 6 == 1 || n % 6 == 5)) {
            return false;
        }
        int i = (int) Math.sqrt(n);
        for (int cnt = 5; cnt <= i; cnt++) {
            if (n % cnt == 0) {
                return false;
            }
        }
        return true;
    }

    static boolean prime(int n) {
        int i = (int) Math.sqrt(n);
        if (n % 2 == 0) {
            return false;
        }
        if (n % 3 == 0) {
            return false;
        }
        int j = 5;
        while (j <= i) {
            if (n % j == 0) {
                return false;
            }
            j++;
        }
        return true;
    }





No comments:

Post a Comment