Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #11 (permalink)  
Старый 07.02.2020, 13:26
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,072

RuBrain,
предположим число 9, нет смысла искать делитель больше 3, три это корень из 9, максимальный делитель числа - это его квадратный корень!
Ответить с цитированием
  #12 (permalink)  
Старый 08.02.2020, 10:23
Аватар для Malleys
Профессор
Отправить личное сообщение для Malleys Посмотреть профиль Найти все сообщения от Malleys
 
Регистрация: 20.12.2009
Сообщений: 1,714

Alexandroppolus, откуда x на строке №3? Разве число 2 — составное?

function isPrime(num) {
	if(
		num < 2 ||
		num > 2 && num % 2 === 0 ||
		num > 3 && num % 3 === 0 ||
		num > 6 && (num - 1) % 6 !== 0 && (num + 1) % 6 !== 0
	) return false;

	for(var i = 6, sqrt = 1 + Math.sqrt(num); i <= sqrt; i += 6)
		if(num % (i - 1) === 0 || num % (i + 1) === 0) return false;

	return true;
}

Последний раз редактировалось Malleys, 08.02.2020 в 10:50. Причина: Добавил проверку потенциально не простых чисел
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Найти число в массиве чисел Михаил94Связь Общие вопросы Javascript 19 05.06.2016 22:05
Найти число в строке и вывести его nikto93i7 Общие вопросы Javascript 8 03.12.2015 11:23
Как найти повторяющееся число?? Brook Events/DOM/Window 2 21.08.2013 19:41
Как найти наибольшее число и ввести его на экран? Ivan152 Оффтопик 2 20.05.2012 20:13
Найти и умножить число stepan86 Общие вопросы Javascript 17 05.08.2009 13:57