[Javascript]반복문 사용하여 소수 여부 판단

챔수·2023년 2월 22일
0

개발 공부

목록 보기
8/101

소수(Prime Number)란?

소수(Prime Number)는 '1과 자기 자신만을 약수로 갖는 수'이다.

이를 반복문으로 만들기 위해 숫자가 소수인 경우를 생각해 보면

  • 소수는 1보다 커야한다.
  • 짝수는 소수가 아님(단 2는 소수).
  • 어떤 수를 3부터 자기 자신 전까지의 수로 나눴을때 나우어지는 경우가 있으면 소수가 아님.

로 3가지 경우를 생각해 볼 수 있다.

이를 하나씩 if문으로 바꿔보면

  • 소수는 1이 아니다.
if (num === 1) {
    return false;
  }
  • 짝수는 소수가 아님(단 2는 소수)
if (num === 2) {
    return true;
  }
if (num % 2 === 0) {
    return false;
  }
  • 어떤 수를 3부터 자기 자신 전까지의 수로 나눴을때 나우어지는 경우가 있으면 소수가 아님.
for (let i = 3; i < num; i++) {
    if (num % i === 0) {
      return false;
    }

이외에는 소수 이므로 이를 토대로 함수 선언식을 작성하면

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

이렇게 표현 가능 하다.
이 외에도 제곱근을 이용하면 더욱 간단 하게 표현 가능 하다.

profile
프론트앤드 공부중인 챔수입니다.

0개의 댓글