Делители


#1

мое решение задачи, можете поправить:

var number = 15;
var sum;

for(var i = 1; i < number; i++){
if(i == 1){
sum = sum;
}else if(number % i == 0){
sum = i;
console.log(sum);
}
}


#2

Зачем здесь переменная sum?
Ты ее еще не задаешь, а уже в коде идет sum = sum) что равно чему?)

далее задаешь sum = i только чтобы вывести sum. можно ведь сразу i выводить.
Кроме того проверка на i ==1 тоже лишняя, она происходит всегда и один раз всего. проще писать цикл с 2 сразу, и также не до самого числа, а не включая его.
Вот вариант (короче вряд ли уже можно)):

var number = 15;

for (var i = 2; i < number; i ++) {
var a = number % i;
if (!a) {
console.log(i);
}
}


#3

Сделала без добавления лишних перемен (кроме счетчика)

var number = 114;
for (var i = 2; i <= number-1; i++) {
if (number%i === 0) {
console.log(i);
}
}


#4

Вроде вызов в циклах с while.
var number = 15;
var i = 1;

 while (i < number) {
  i++;
  if(i > 1 && i < number && number % i === 0) {
     console.log(i);
     }
 }