Есть три почти идентичных цикла, все они выполняют одну функцию, проверяют случайное число в
n и возвращает соответственное значение, в случае если
n=2 в 1м и 2м случае возвращает все четко, а второй ничего или undefined. Как фигурные скобки могу на это влиять? И почему первые два варианта работаю четко?
//1й способ
function testCycle(n) {
for (var i=2;i<n;i++)
if (n%i==0) return "Составное число";
return "Простое число";
}
//2й способ
function testCycle(n) {
for (i = 2; i*i <= n; i++)
if (n % i === 0)
return "Составное число";
return "Простое число";
}
//3й способ
function testCycle(n) {
for(i=2;i<n;i++){
if(n%i==o){ return "Составное число";}
return 'Простое число';
}
}
UPD: (2й способ) при n=2
i*i<= n почему это равно этому
i < n но не равно
i<=n, пытаюсь понять и не могу