function isPrime(num) {
if (num < 2) return false; // 0 and 1 are not prime
if (num === 2) return true; // 2 is the only even prime
if (num % 2 === 0) return false; // eliminate even numbers
const limit = Math.sqrt(num); // only check up to sqrt(num)
for (let i = 3; i <= limit; i += 2) { // test only odd divisors
if (num % i === 0) return false;
}
return true;
}
// Example usage
console.log(isPrime(2)); // true
console.log(isPrime(17)); // true
console.log(isPrime(100)); // false
console.log(isPrime(1)); // false
console.log(isPrime(997)); // true
ZnVuY3Rpb24gaXNQcmltZShudW0pIHsKICBpZiAobnVtIDwgMikgcmV0dXJuIGZhbHNlOyAgICAgICAgICAgIC8vIDAgYW5kIDEgYXJlIG5vdCBwcmltZQogIGlmIChudW0gPT09IDIpIHJldHVybiB0cnVlOyAgICAgICAgICAgLy8gMiBpcyB0aGUgb25seSBldmVuIHByaW1lCiAgaWYgKG51bSAlIDIgPT09IDApIHJldHVybiBmYWxzZTsgICAgICAvLyBlbGltaW5hdGUgZXZlbiBudW1iZXJzCgogIGNvbnN0IGxpbWl0ID0gTWF0aC5zcXJ0KG51bSk7ICAgICAgICAgLy8gb25seSBjaGVjayB1cCB0byBzcXJ0KG51bSkKCiAgZm9yIChsZXQgaSA9IDM7IGkgPD0gbGltaXQ7IGkgKz0gMikgeyAvLyB0ZXN0IG9ubHkgb2RkIGRpdmlzb3JzCiAgICBpZiAobnVtICUgaSA9PT0gMCkgcmV0dXJuIGZhbHNlOwogIH0KCiAgcmV0dXJuIHRydWU7Cn0KCi8vIEV4YW1wbGUgdXNhZ2UKY29uc29sZS5sb2coaXNQcmltZSgyKSk7ICAgIC8vIHRydWUKY29uc29sZS5sb2coaXNQcmltZSgxNykpOyAgIC8vIHRydWUKY29uc29sZS5sb2coaXNQcmltZSgxMDApKTsgIC8vIGZhbHNlCmNvbnNvbGUubG9nKGlzUHJpbWUoMSkpOyAgICAvLyBmYWxzZQpjb25zb2xlLmxvZyhpc1ByaW1lKDk5NykpOyAgLy8gdHJ1ZQo=