Помогите разобрать код
К ак он работает последовательно, что откуда и куда, некоторые моменты непонятны...
function showPrimes(n) {
for (let i = 2; i < n; i++) {
if(!isPrime(i)) continue;
alert(i);
}
}
showPrimes(10)
function isPrime(n) {
for(let i = 2; i < n; i++) {
if(n % i == 0) return false;
}
return true;
}
Как все последовательно по пунктам, откуда значение берется, как переходит и куда, и вот здесь тоже конкретнее if(!isPrime(i)) , почему именно параметр берется i, как это переходит от функции к функции последовательно
Ответы (1 шт):
Автор решения: dmitriy_vlz
→ Ссылка
Общий смысл в том, что у тебя есть функция isPrime в которую ты передаешь как аргумент число из текущей итерации цикла функции showPrimes()
/*
/ Функция показа простых чисел в промежутке до N
*/
function showPrimes(n) {
for (let i = 2; i < n; i++) { //Перебираем числа от 2 до N
if(!isPrime(i)) continue; //Передаем число внутри цикла как параметр для ф-ии , проверяющей число на простоту
alert(i);
}
}
showPrimes(10)
/*
* Ф-я проверяющая число на простоту
* Простое число — число, имеющее ровно два различных натуральных делителя — единицу и самого себя.
*/
function isPrime(n) {
//Перебираем все числа в промежутке от 2 до текущего, переданного в ф-ю как агрумент
for(let i = 2; i < n; i++) {
if(n % i == 0) return false; //Если число делиться без остатка на число отличное от 1 и самого числа - возвращем false - число не простое
}
//Иначе - TRUE - число простое
return true;
}