인프런 커뮤니티 질문&답변

작성자 없음

작성자 정보가 삭제된 글입니다.

자바스크립트 알고리즘 문제풀이 입문(코딩테스트 대비)

2. 뒤집은 소수

소수 만드는 함수 질문

작성

·

113

1

function isPrime(num) {
if (num === 1) return false;
for (let i = 2; i < parseInt(Math.sqrt(num)); i++) {
if (num % i === 0) return false;
}
return true;
}

위 함수에서 만약 num에 2부터 8까지의 값이 들어오게 되면 어떤 과정을 거치게 되는건가요?

num이 2, 3일 때의 parseInt(Math.sqrt(num))의 값은 1이고

num이 4 ~ 8일 때의 parseInt(Math.sqrt(num)) 값은 2인데

이렇게 되면 let i  = 2;  i < 1;

혹은 let i = 2;  i < 2; 인데 그러면 범위의 충돌이 일어나는 것 아닌가요?

답변 1

0

김태원님의 프로필 이미지
김태원
지식공유자

안녕하세요^^

for(let i=2; i<2; i++) 은 시작하기 전에  i<2가 거짓이 되어 반복문이 바로 멈추어 버립니다. 

작성자 없음

작성자 정보가 삭제된 글입니다.

질문하기