Я пытаюсь оптимизировать использование функции, чтобы проверить, является ли число простым или нет.Кэширование в Javascript без использования глобальной переменной
я написал следующую функцию:
function isPrime(num) {
var start = 2;
// code to check whether num has already been checked for Prime
while(start <= Math.sqrt(num)) {
if (num % start++ < 1) {
return false;
}
}
return num > 1;
}
Однако перед выполнением моего while
цикла я хочу, чтобы проверить, является ли число уже было передано через мою функцию IsPrime, так что я могу вернуться ли это является простым или не без выполнения цикла while
.
Примечание. Я хочу сделать это без использования глобальной переменной или без расширения Object.prototype
.
Обратите внимание, что если вы заботитесь о производительности, вы также должны смотреть в с помощью вместо этого, или * по крайней мере * принять вызов 'Math.sqrt()' из заголовка цикла. В любом случае, это будет эффективно служить целям вашего кеша. – Pointy
Как будет служить в качестве моего кеша? – nashcheez
Поскольку seive * - * карта каждого числа (до предела того, сколько было вычислено) и флаг, указывающий, является ли число простым. – Pointy