Показать сообщение отдельно
  #1 (permalink)  
Старый 06.06.2017, 04:48
Интересующийся
Отправить личное сообщение для Alexsandr Посмотреть профиль Найти все сообщения от Alexsandr
 
Регистрация: 22.05.2017
Сообщений: 25

Цикл for и изменение переменных
Напишите функцию isPrime. Она принимает число и возвращает true если число является простым, и false в ином случае.

Простое число — целое положительное число, имеющее ровно два различных натуральных делителя — единицу и самого себя. Например, 7 — простое число, потому что делится без остатка только на 1 и на себя. 2017 — другое простое число.

Используйте цикл for и арифметические мутаторы.

isPrime(1); // false
isPrime(7); // true
isPrime(10); // false

1   const isPrime = (num) =>{
2     let num1 = num
3     for(let counter = 2;  num1 !== 0; counter++){
4        num1 %= counter
5               } 
6       if ( counter  === num) {
7       return true;
8     } else {
9       return false;
10    }
11  
12  }
13  isPrime(2);

https://goo.gl/saJZJU в 6 строке пишет что counter не определен

const isPrime = (num) =>{
2        let num1 = num
3        for(let counter = 2;  num1 !== 0; counter++){
4           num1 %= counter
5           let counter1 = counter;
6                  } 
7          if ( counter1  === num) {
8          return true;
9        } else {
10         return false;
11      }
12    
13    }
14    isPrime(2);


пытался добавить переменную counter1 которая копирует counter и вытаскивает значение последнего делителя но все равно пишет что counter1 не определен

const isPrime = (num) =>{
let num1 = num
for(let counter = 2; num1 !== 0; counter++){
num1%= counter
if ( counter === num) {
return true;
}
if (num1 === 0){
return false;
}
}
}

Добавил условия внутрь цикла вроде работает, но проверку не проходит
https://ru.hexlet.io/courses/introdu.../exercise_unit
Run failed! Check and fix errors above!
Ответить с цитированием