Irina Gavrilova
Irina Gavrilova

Как вычислять простые числа?

Решил я тут вычислить первые 10000 простых чисел.
Пошёл по самому простому пути (что первое в голову пришло, то и написал).
Сравнил полученные числа с таблицой простых чисел и понял, что что-то ЯВНО делаю не так ведь: 13*13= 169, а это не простое число

Как тогда вычислить все простые число до 10000?

СШ
Сергей Шеметов

С простыми числами у меня проблем никогда не возникало. Обошелся даже без старины Эратосфена
arr = [];
for (var n = 0; n < 100; n++) {
test = true;
for (var i = n - 1; i > 1; --i) {
if (n % i == 0) {
test = false;
break;
}
}
if(test) {arr.push(n)}
}
console.log(arr)

СР
Сергей Руденко

const isPrime = (num) => {
let prime;
if (num <= 5 && (num <= 2 || num == 3 || num == 5)) prime = true;
else if (~num & 1 || 0 == num % 3 || 0 == num % 5) prime = false;
else {
let n;
for (n = 3; n * n <= num && num % n; n += 2) { ; }
prime = n * n > num? true : false;
}
return prime;
}
let str = "";
for (let n = 1; n < 10000; n += 1) if (isPrime(n)) str += n + "
";
document.write(str);

ИБ
Ира Берегова

Логика простая. Определяешь простоту чисел последовательно от 2 до n. Каждое число делишь на до сих пор известные простые числа. Если не делится ни на одно, значит нашел ещё простое число и добавляешь его в список.

Оксана
Оксана

>Как вычислять простые числа?
При помощи решета Эратосфена.

>Сравнил полученные числа с таблицой простых чисел и понял, что что-то ЯВНО делаю не так
Ну, судя по твоему коду, после 11 простые числа заканчиваются, так что ты ВСЕ делаешь не так.

НК
Надежда Куликова

Иногда проще показать на примере, чем объяснять как это делать.

Похожие вопросы
ччто показывает число авогадро? как его вычисляют?
и еще раз о простых числах
программа на языке vba которая вычисляет делители числа
Число Пи Зачем вычисляют число Пи? Кто сказал что оно вообще должно вычисляться?
Мужчины.вы умных женщин как вычисляете?))просто интересно))
как вычисляется число обусловленности для матриц?
Даны действительные числа a1, a2, a3, a4, x1, ..x50. Получить b1, ..b50, где ... (JavaScript)
Как заставить javascript отобразить число 213442351514 а не 23124e+134?
Как получить процент от числа? Процент с запятой.
Как вывести все чётные числа от 1 до 100