Делители

На сколько верно данное решение?
И какие варианты решения могут быть ещё?

var number = 119;

for(var i = 2; i < number; i++) {
  if(number % i === 0) {
   console.log(i); 
  }
}
4 Симпатий

Ну, я решил так, например

var number = 15;

for (i = 1; i <= number; i++) {
  if (i != 1 && i != number) {
       if (number % i === 0) {
          console.log(i);
        }
    }
}
1 Симпатия

if (i != 1 && i != number) {
Я только начинающий, однако позволю себе прокомментировать эту строку. Я думаю, если сделать в условии цикла i=2 и i< number, то можно обойтись без лишнего условия.

а еще лучше i <= number/2

var iEnd = Math.floor (number / 2);
for (var i = 2; i <= iEnd; i++) {
if ((number % i) === 0) {
console.log (i);
}
}

Не претендую на гениальность, просто не увидел решение через “while”…

var number = 15;
var i = 0;

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

Я сделал так:

var number = 15;
var i = 1;

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

вот мое решение
var number = 15;

for (i = 2; i < number; i++) {

if (number % i === 0) {
console.log (i);
}
}

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

вот такой результат получился через for
учитывал то, что number меняется постоянно

Возможно ли такое решение ?

var number = 15;

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

1 Симпатия

вполне.

Я так решил, но твой пример более удобнее читаем.

var number = 15;
var exception = 1;

for(var i = number - exception; i > exception; i--){
  if(number % i == 0){
    console.log(number / i);
  }
}

Хороший вариант, я решил вот так, но твой вариант мне нравиться больше.

var number = 15;
var exception = 1;

for(var i = number - exception; i > exception; i--){
  if(number % i == 0){
    console.log(number / i);
  }
}

var number = 15;

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

var number = 15;

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

Вот как-то так вышло.

Как-то так:

var number = 15;

for(var i=number;i>=1;i–){
if(number%i===0 && i!==1 && i!==number){
console.log(number/i);
}
}

1 Симпатия