Собственно, делал челендж на codewars, суть которого заключается в следующем: необходимо найти первую пару простых чисел в заданном диапазоне с заданным интервалом простых чисел. Я реализовал алгоритм, который проходит все тесты, но столкнулся с проблемой рантайма (выполнение моего "топового" кода занимает более 12 сек.). И пока не знаю как его можно оптимизировать. Сразу извиняюсь за боль в глазах при просмотре моего кода (JS-ом занимаюсь 4-ю неделю). А теперь по делу, функция соответственно имеет 3 параметра:
/*
g (integer >= 2) интервал между простыми числами
m (integer > 2) начало заданного интервала (включительно)
n (integer >= m) конец заданного интервала (включительно)
*/
function gap(g, m, n) {
// Your code
}
Пример выполнения:
gap(2, 3, 50); // [3, 5]
gap(2, 5, 5); // null
gap(2, 5, 7); // [5, 7]
gap(4, 130, 200); // [163, 167]
gap(6,100,110); // null
Ссылка на это задание на codewars:
https://www.codewars.com/kata/gap-in-primes/train/...
Моя реализация алгоритма:
See the Pen
Prime gap by Vitalii (
@vitalii1024) on
CodePen.
Как мне кажется, проблема заключается в моей неэффективной реализации алгоритма поиска простых чисел. Буду благодарен за наставление более опытных JS разработчиков.