Зачем в конце этой функции вписано return true?
Убедительно прошу помочь, была дана задача написать функцию по определению "является ли данное число простым":
Напишите функцию isPrime(). Она принимает число и возвращает true, если число является простым, и false в ином случае. Простое число — целое положительное число, имеющее ровно два различных натуральных делителя — единицу и самого себя. Например, 7 — простое число, потому что делится без остатка только на 1 и на себя. 2017 — другое простое число. Используйте цикл for и арифметические шорткаты. Вопрос заключается в том, что мною была написана вот такая функция, но она давала неверный ответ (например, при вызове с аргументом 21 должен был произойти вывод false (не простое), а вывелось true):
const isPrime = num => {
if (num <= 1) {
return false;
}
else {
for (let k = 2; k < num; k++){
if (num % k == 0){
return false;
break;
}
else {
return true;
}
}
}
}
Вот как выглядит ответ на это задание (правильное определение функции) и я в большом замешательстве, для чего нужна инструкция return true в конце описания функции?:
const isPrime = (number) => {
if (number < 2) {
return false;
}
for (let i = 2; i <= number / 2; i += 1) {
if (number % i === 0) {
return false;
}
}
return true;
};
Ответы (1 шт):
Ответ прост: программа может просто не зайти ни в один из if'ов, а вернуть булево нужно.
Все проверки - что число не простое. Если никуда не зашло - значит простое, то есть true