@Besso17

Как вывести все числа являющиеся произведением простых чисел?

Найти и вывести все числа являющиеся произведением простых чисел из интервала 1..1400.
Подскажите, как это осуществить. Простые числа нашел, но а как сделать дальше?
for(var i = 1; i <= 1400; i++) {
    for(var j = 2; j < i; j++) {
        if(i % j == 0){
        	break;
        	}
    }
		if(i == j){
			document.write(i + "<br>");
		}
	}
  • Вопрос задан
  • 351 просмотр
Пригласить эксперта
Ответы на вопрос 1
sergiks
@sergiks Куратор тега JavaScript
♬♬
Все, являющиеся произведением – это все, кроме простых.
Значит, надо получить все числа, кроме простых, в интервале 1..1400.
Для поиска простых в таком небольшом диапазоне подойдёт алгоритм решета Эратосфена. Чтобы не писать вам целиком готовое решение, вот код, который только получает массив простых чисел от 2 до N:

function primes(n) {
  var i, j, isPrime = Array(n), result= [];
  for(i=2; i<n; i++) isPrime[i] = true;
  for(i=2; i * i <= n; i++) {
    if( isPrime[i]) {
      for(j = i * i; j <= n; j += i) isPrime[j] = false;
    }
  }
  
  for(i=2; i<n; i++) {
    if(isPrime[i] === true) result.push(i);
  }
  return result;
}


Дальше вы уж сами, пожалуйста.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы