Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 12.04.2016, 10:36
Аватар для Alexander Belov
Профессор
Отправить личное сообщение для Alexander Belov Посмотреть профиль Найти все сообщения от Alexander Belov
 
Регистрация: 12.03.2015
Сообщений: 173

Чётное / нечётное количество делителей у числа.
Привет!

Пытаюсь решить задачу:
функция принимает в качестве аргумента число и возвращает количество всех его делителей - чётное или нечётное.

function check ( num ){

var b;

+b <= 3;

var a = Math.pow( 2, b );

var d;

+d <= 1;

var c = Math.pow( 3, d );
 
  
num = ( (Math.pow(2 ,3) * 3) / (a *c) );

num % 2 == 0? alert ( "Чётное") :alert( "Нечётное" );

}

check ( 134 )


Код писал, основываясь на разделе Why this works

Ожидаемым образом функция не работает. Консоль не показывает никаких ошибок.
Прошу помочь решить эту задачу.
Ответить с цитированием
  #2 (permalink)  
Старый 12.04.2016, 12:06
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,124

Сообщение от Alexander Belov
возвращает количество всех его делителей
это что?
Ответить с цитированием
  #3 (permalink)  
Старый 12.04.2016, 12:15
Аватар для Alexander Belov
Профессор
Отправить личное сообщение для Alexander Belov Посмотреть профиль Найти все сообщения от Alexander Belov
 
Регистрация: 12.03.2015
Сообщений: 173

рони,
Например, число 10, его делители 1, 2, 5, 10 - всего четыре, чётное количество.
Число 9, его делители 1, 3, 9 - всего три, нечётное количество.
Ответить с цитированием
  #4 (permalink)  
Старый 12.04.2016, 12:34
Аватар для nerv_
junior
Отправить личное сообщение для nerv_ Посмотреть профиль Найти все сообщения от nerv_
 
Регистрация: 29.11.2011
Сообщений: 3,924

https://ru.wikipedia.org/wiki/Кат... изации
https://ru.wikipedia.org/wiki/Мет...B5.D1.80.D1.8B
http://algolist.manual.ru/maths/teornum/factor/
__________________
Чебурашка стал символом олимпийских игр. А чего достиг ты?
Тишина - самый громкий звук
Ответить с цитированием
  #5 (permalink)  
Старый 14.04.2016, 14:21
Профессор
Отправить личное сообщение для Яростный Меч Посмотреть профиль Найти все сообщения от Яростный Меч
 
Регистрация: 12.04.2010
Сообщений: 557

Если надо только выяснить, четное это количество, или нет - просто проверь, является ли число квадратом. Возьми корень, проверь что он целочисленный
Ответить с цитированием
  #6 (permalink)  
Старый 14.04.2016, 23:58
Аватар для Alexander Belov
Профессор
Отправить личное сообщение для Alexander Belov Посмотреть профиль Найти все сообщения от Alexander Belov
 
Регистрация: 12.03.2015
Сообщений: 173

Яростный Меч,

Если Math.sqrt(num) % 1 === 0, то число является квадратом.

У квадрата, насколько я понимаю, всегда будет 3 делителя.
А как остальные числа проверять?
Ответить с цитированием
  #7 (permalink)  
Старый 15.04.2016, 10:02
Профессор
Отправить личное сообщение для Яростный Меч Посмотреть профиль Найти все сообщения от Яростный Меч
 
Регистрация: 12.04.2010
Сообщений: 557

Alexander Belov,
У квадрата нечетное количество делителей, у всех других - четное.

Делители ведь можно разбить на пары, такие что произведение чисел в каждой паре равно проверяемому числу. Квадратный корень, если он есть, образует пару сам с собой, отсюда и нечетность.

Последний раз редактировалось Яростный Меч, 15.04.2016 в 10:46.
Ответить с цитированием
  #8 (permalink)  
Старый 15.04.2016, 22:33
Аватар для Alexander Belov
Профессор
Отправить личное сообщение для Alexander Belov Посмотреть профиль Найти все сообщения от Alexander Belov
 
Регистрация: 12.03.2015
Сообщений: 173

Яростный Меч,
Благодарю! Всё несложно оказалось.

function checkNum (num){
  return Math.sqrt (num) % 1 ? alert ("Чётное") : alert ("Нечётное");
}

checkNum (9);
checkNum (177);
checkNum (91);
checkNum (100);

Последний раз редактировалось Alexander Belov, 15.04.2016 в 22:38.
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Если в контейнере нечетное количество блоков, добавить последнему class subbziro Общие вопросы Javascript 20 12.12.2015 13:55
Как и где задать цикл? Blondinka Events/DOM/Window 2 10.06.2014 15:29