1) This code checks if a given integer is a prime number by testing divisibility from 2 up to the square root of the number. 2) Hint: The loop condition `i * i <= n` is more efficient than checking up to `n/2` because it reduces the number of iterations needed. Hint: Remember that 2 is the smallest prime number, which is why the function returns false for numbers ≤ 1.