Computer >> 컴퓨터 >  >> 프로그래밍 >> JavaScript

JavaScript로 소수(Prime Number) 생성하는 방법 완벽 정리

소수(Prime Number)는 1과 자기 자신만을 약수로 가지는 1보다 큰 자연수입니다. JavaScript에서 소수를 생성하려면 반복문과 나머지 연산자(%)를 활용해 각 숫자가 다른 수로 나누어지는지 확인하는 방식으로 구현할 수 있습니다.

JavaScript 소수 생성 예제

아래 코드는 1부터 20까지의 숫자 중에서 소수만 찾아 화면에 출력하는 예제입니다.

<html>
   <head>
      <title>JavaScript Prime</title>
   </head>

   <body>
      <script>
         for (var limit = 1; limit <= 20; limit++) {
            var a = false;
            for (var i = 2; i <= limit; i++) {
               if (limit % i === 0 && i !== limit) {
                  a = true;
               }
            }
            if (a === false) {
               document.write("<br>" + limit);
            }
         }
      </script>
   </body>
</html>

코드 동작 원리

이 코드의 핵심 로직은 다음과 같습니다.

첫 번째 for 루프가 1부터 20까지의 숫자를 하나씩 확인합니다. 각 숫자(limit)에 대해 두 번째 내부 루프가 2부터 해당 숫자 자신까지 반복하면서 나머지 연산(limit % i === 0)을 수행합니다.

만약 자기 자신(i !== limit)을 제외한 다른 수로 나누어떨어진다면 그 숫자는 소수가 아니므로 플래그 변수 atrue로 설정합니다. 내부 루프가 끝난 후에도 a가 여전히 false라면, 즉 어떤 수로도 나누어떨어지지 않았다면 그 숫자는 소수이므로 document.write()로 출력됩니다.

실행 결과

위 코드를 실행하면 1부터 20 사이의 소수인 다음 값들이 출력됩니다.

2, 3, 5, 7, 11, 13, 17, 19

성능 개선 팁

위 방식은 이해하기 쉽지만 비효율적일 수 있습니다. 소수 판별 시 내부 루프를 i <= Math.sqrt(limit)까지만 실행하면 연산 횟수를 크게 줄일 수 있습니다. 또한 실무에서는 document.write() 대신 배열에 결과를 담아 console.log()나 DOM 조작으로 출력하는 것이 권장됩니다.