Показать сообщение отдельно
  #12 (permalink)  
Старый 31.05.2020, 10:07
Аватар для join
Профессор
Отправить личное сообщение для join Посмотреть профиль Найти все сообщения от join
 
Регистрация: 05.03.2012
Сообщений: 477

Серьезно? Кузнецом трудился?

// функция showPrimes: фильтрует числа по модулю
function showPrimes(n) { 
  var Ar=[]; // Ar - массив. Ar добавлен для посмотреть процесса фильтрации чисел
  for ( let i=2; i<n; i++) { // цикл for: перебирает числа от i до n-1
    if( !isPrime(i) ) console.log(i); // <- if(!isPrime(i)): отфильтрует числа 4,6,8,9,10
    if ( !isPrime(i) ) continue;// !isPrime() фильтрует числа при условии if (!(n%i == 0))
    Ar.push(i); // <- Вставим итоговые числа в массив Ar=[2,3,5,7,11]
    console.log(Ar); // в консоли массив результатов [2, 3, 5, 7, 11]
  }
}

// функция isPrime: выполняет проверку чисел по модулю
function isPrime (n) {
  for (let i=2; i<n; i++) { // цикл for: перебирает числа от i до n-1
    //console.log( "[n="+ n +";"+ "i="+ i + "]("+n+"%"+i+" == "+(n%i)+") -> "+ (n%i) );// смотреть процесс фильтрации
    // вызвать консоль в браузере: `ctrl + shift + i`
    if (n%i == 0) return false; //  функция возвращает false, если деление по модулю равно нулю (n%i == 0)
  }
  // функция возвращает true, если деление по модулю не равно нулю (n%i != 0)
  return true;
}

showPrimes(12);
/*
Смысл таких примеров при изучении программирования, алгоритмов - не вполне ясен. Примитивные примеры, на подобии этого, не помогут делать-изменять магазины, новостные сайты и тд за которые платят деньги. Там просто негде применять подобные навыки =)
*/
Ответить с цитированием