public class Loops2
{    /*  pre: num >= 0
     */
    public static double squareRoot(double num)
    {   double approx = num / 2;
        final double LIMIT = 1E-10;
        double diff = Math.abs( approx * approx - num );
        while( diff > LIMIT )
        {   approx = ( num / approx + approx ) / 2;
            diff = Math.abs( approx * approx - num );
        }
        return approx;
    }
    
    /*  pre: num >= 2
     *  post: return true if num is a prime number, false otherwise
     */
    public static boolean isPrime(int num)
    {   int divisor = 2;
        final double LIMIT = Math.sqrt(num);
        boolean primeSoFar = true;
        while(primeSoFar && divisor <= LIMIT)
        {   primeSoFar = num % divisor != 0;
            divisor++;
        }
        return primeSoFar;
    }
}
