<p>Поиск простых чисел <input id="from" value="1"> to <input id="to" value="500000" size="200">.</p>
<button onclick="doSearch()">Начать поиск</button>

<div id="primeContainer">
</div>

<div id="status"></div>
body {
  font-family: "Lucida Sans Unicode", "Lucida Grande", sans-serif;
  margin: 20px;
}

#primeContainer {
  border: solid 1px black;
  padding: 3px;
  height: 300px;
  max-width: 500px;
  overflow: scroll;
  overflow-x: hidden;
  font-size: x-small;
  margin-top: 20px;
  margin-bottom: 10px;
}

input {
  width: 80px;
}

button {
  padding: 3px;
}

p {
  margin-bottom: 3px;
}

#status {
  color: darkred;
}
function doSearch() {
        // Получаем числа ренжда От и До
        var fromNumber = document.getElementById("from").value;
        var toNumber = document.getElementById("to").value;

        var statusDisplay = document.getElementById("status");
        statusDisplay.innerHTML = "Начинаем новый поиск...";

        // Выполняем поиск
        var primes = findPrimes(fromNumber, toNumber);

        // полученные результаты проходим циклом и соединяем их одну строку для публикации в блок
        var primeList = "";
        for (var i=0; i<primes.length; i++) {
            primeList += primes[i];
            if (i !== primes.length-1) primeList += ", ";
        }

        // отображем найденные числа на странице
        var primeContainer = document.getElementById("primeContainer");
        primeContainer.innerHTML = primeList;

        statusDisplay = document.getElementById("status");
        if (primeList.length === 0) {
            statusDisplay.innerHTML = "Не найдено ни одного числа.";
        }
        else {
            statusDisplay.innerHTML = "Результаты здесь!";
        }
    }


    function findPrimes(fromNumber, toNumber) {
        // Создаём массив чисел из указанного ренджа
        var list = [];
        for (var i=fromNumber; i<=toNumber; i++) {
            if (i>1) list.push(i);
        }

        // Отбираем валидные числа
        var maxDiv = Math.round(Math.sqrt(toNumber));
        var primes = [];

        for (i=0; i<list.length; i++) {
            var failed = false;
            for (var j=2; j<=maxDiv; j++) {
                if ((list[i] !== j) && (list[i] % j === 0)) {
                    failed = true;
                } else if ((j === maxDiv) && (failed === false)) {
                    primes.push(list[i]);
                }
            }
        }

        return primes;
    }
Run Pen

External CSS

This Pen doesn't use any external CSS resources.

External JavaScript

This Pen doesn't use any external JavaScript resources.