<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;
}
This Pen doesn't use any external CSS resources.
This Pen doesn't use any external JavaScript resources.