Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 08.06.2022, 17:03
Профессор
Отправить личное сообщение для NovichokJS Посмотреть профиль Найти все сообщения от NovichokJS
 
Регистрация: 25.04.2022
Сообщений: 159

Простые числа от 1 до n
Застрял на задачке. Нужно вывести простые числа от 1 до заданного числа. У меня выводится только последнее число:

const getPrimes = n => {
    let isPrime;
    for (let i = 1; i <= n; i++) {
        for (let j = 1; j <= i; j++) {
            if (i % j !== 0) {
                isPrime = j;
            }
        }
    }
    return isPrime;

}


console.log(getPrimes(12));
Ответить с цитированием
  #2 (permalink)  
Старый 08.06.2022, 17:13
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,075

Сообщение от NovichokJS
У меня выводится только последнее число:
наверно нужен некий объект для сбора отфильтрованных чисел ...
Ответить с цитированием
  #3 (permalink)  
Старый 08.06.2022, 17:16
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,124

Как вариант...
const n = 10
const a = []
for (let i = 2; i <= n; i++) {
	let ok = true
	for (let j = 0; j < a.length; j++) {
		if (i % a[j] === 0) {
			ok = false
			break
		}
	}
	if (ok) a.push(i)
}
alert(a)
Ответить с цитированием
  #4 (permalink)  
Старый 08.06.2022, 17:19
Профессор
Отправить личное сообщение для NovichokJS Посмотреть профиль Найти все сообщения от NovichokJS
 
Регистрация: 25.04.2022
Сообщений: 159

Сообщение от ksa Посмотреть сообщение
Как вариант...
const n = 10
const a = []
for (let i = 2; i <= n; i++) {
	let ok = true
	for (let j = 0; j < a.length; j++) {
		if (i % a[j] === 0) {
			ok = false
			break
		}
	}
	if (ok) a.push(i)
}
alert(a)
так нужно от 1 искать, у вас от 2
Ответить с цитированием
  #5 (permalink)  
Старый 08.06.2022, 17:21
Профессор
Отправить личное сообщение для NovichokJS Посмотреть профиль Найти все сообщения от NovichokJS
 
Регистрация: 25.04.2022
Сообщений: 159

нужно проверить от 1 до n. Если в ваш код поставить let i = 1, то работать не будет
Ответить с цитированием
  #6 (permalink)  
Старый 08.06.2022, 17:22
Профессор
Отправить личное сообщение для NovichokJS Посмотреть профиль Найти все сообщения от NovichokJS
 
Регистрация: 25.04.2022
Сообщений: 159

аа...тогда в j тоже поставить 1 и работает)
Ответить с цитированием
  #7 (permalink)  
Старый 08.06.2022, 17:25
Профессор
Отправить личное сообщение для NovichokJS Посмотреть профиль Найти все сообщения от NovichokJS
 
Регистрация: 25.04.2022
Сообщений: 159

и без флага let ok = true, никак нельзя?
Ответить с цитированием
  #8 (permalink)  
Старый 08.06.2022, 17:26
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,124

Сообщение от NovichokJS
так нужно от 1 искать
Тебя ввели в заблуждение...
Цитата:
Просто́е число́ — натуральное число, имеющее ровно два различных натуральных делителя.
https://ru.wikipedia.org/wiki/Простое_число
Ответить с цитированием
  #9 (permalink)  
Старый 08.06.2022, 17:26
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,124

Сообщение от NovichokJS
без флага let ok = true, никак нельзя?
Сделай без флага... Это ведь твоя задача.
Ответить с цитированием
  #10 (permalink)  
Старый 08.06.2022, 17:43
Профессор
Отправить личное сообщение для NovichokJS Посмотреть профиль Найти все сообщения от NovichokJS
 
Регистрация: 25.04.2022
Сообщений: 159

Сообщение от ksa Посмотреть сообщение
Сделай без флага... Это ведь твоя задача.
буду пробовать, спасибо!
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как найти простые числа в массиве? Brava Общие вопросы Javascript 10 13.09.2021 11:39
Простые числа, не превосходящие заданного числа. jutochka123 Общие вопросы Javascript 2 30.09.2017 13:05
JS задача. Взаимно простые числа sashok Общие вопросы Javascript 5 23.11.2014 10:16
Есть числа от (0 до 100) что бы все эти числа были заменины в итоге например 110 impi Общие вопросы Javascript 4 08.10.2014 08:30
число 76.4705882.. сделать 76.47? (числа всегда разные) TongaG Ваши сайты и скрипты 3 19.01.2010 07:35