tgoop.com/webdevlair/3980
Create:
Last Update:
Last Update:
Определите функцию, которая принимает целочисленный аргумент и возвращает логическое значение true или false в зависимости от того, является ли целое число простым.
Натуральное число, большее 1, у которого нет положительных делителей, кроме 1 и самого себя.
Требования
• Вы можете предположить, что вам будет предоставлен целочисленный ввод.
• Вы не можете предполагать, что целое число будет только положительным. Вам • также могут быть даны отрицательные числа ( или 0 ).
Пример кода:
is_prime(1) /* false */
is_prime(2) /* true */
is_prime(-1) /* false */
Решение задачи
function isPrime(num) {
if (num <= 1) {
return false;
}
if (num === 2) {
return true; // 2 - единственное четное простое число
}
if (num % 2 === 0) {
return false; // исключаем все четные числа, кроме 2
}
// Проверка делимости от 3 до квадратного корня из num
for (let i = 3; i <= Math.sqrt(num); i += 2) {
if (num % i === 0) {
return false;
}
}
return true;
}
// Примеры использования
console.log(isPrime(1)); // false
console.log(isPrime(2)); // true
console.log(isPrime(-1)); // false
console.log(isPrime(17)); // true
console.log(isPrime(18)); // false