Skip to content

Instantly share code, notes, and snippets.

@denysdovhan
Created January 30, 2015 21:00
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save denysdovhan/5dfb779d8076150fff22 to your computer and use it in GitHub Desktop.
Save denysdovhan/5dfb779d8076150fff22 to your computer and use it in GitHub Desktop.
// Оборачиваем весь код в функцыю-замыкание
// чтобы изолировать код
(function() {
'use strict'; // Использовать строгий синтаксис
var simpleNumbers = function (N) { // Оглашаем функцыю
var simple = 2, // Простое число
simples = [1]; // Массив из простых чисел
// В условии проверяем или аргумент функцыи неотрицательное число
// и есть ли аргумент вообще числом
if (N < -1 || typeof N !== 'number') {
return null; // если нет, то возвращаем null
}
// Цыкл пока простые числа меньше N
while (simple <= N) {
var isSimple = true; // Флажок для проверки есть ли число протым
for (var i = 2; i < simple; i++) {
// Проверяем число:
// Если делиться на какое-либо число, останавливаем цыкл
if (simple % i === 0) {
isSimple = false; // число не простое
break;
}
}
// Если простое, тогда заносим его в масив уже найденых числе
if (isSimple) {
simples.push(simple);
}
simple++; // Увеличиваем простое число.
}
// После того как цыкл отработает, возвращаем масив чисел
return simples;
};
// Тестовый вывод масива всех простых чисел до 27 в консоль
console.log(simpleNumbers(27));
})();
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment