"일꾼이 일을 잘하려면 먼저 도구를 갈고 닦아야 한다." - 공자, 『논어』.
첫 장 > 프로그램 작성 > JavaScript에서 숫자가 소수인지 어떻게 효율적으로 확인할 수 있나요?

JavaScript에서 숫자가 소수인지 어떻게 효율적으로 확인할 수 있나요?

2024-11-08에 게시됨
검색:546

How can you efficiently determine if a number is prime in JavaScript?

JavaScript에서 효율적으로 소수 확인

컴퓨터 프로그래밍에서 주어진 숫자가 소수인지 확인하는 것은 기본적인 작업입니다. 소수는 1과 자기 자신 외에는 양의 약수가 없는 1보다 큰 양의 정수입니다.

소수 확인에 널리 사용되는 접근 방식에는 에라토스테네스의 체(Sieve of Eratosthenes)가 포함됩니다. 그러나 성능을 고려하여 다음 JavaScript 구현에서 볼 수 있듯이 보다 효율적인 방법을 사용할 수 있습니다.

let inputValue = 7;
let isPrime = inputValue == 1 ? false : true;  // Because 1 is not prime

for (let i = 2; i 

시간 및 공간 복잡도 분석

시간 위 알고리즘의 복잡도는 O(sqrt(n))입니다. 여기서 n은 입력 값을 나타냅니다. 이는 루프가 입력 숫자의 제곱근까지 모든 정수를 반복하기 때문입니다. 이는 최대 n까지의 모든 정수를 검사하는 것에 비해 상당한 최적화입니다.

공간 복잡도는 O(1)[입니다. &&&], 기본 변수 이외의 추가 데이터 구조가 필요하지 않기 때문입니다.

대체 접근 방식

대체 구문 JavaScript에서 소수성을 확인하는 방법은 다음과 같습니다.

const isPrime = num => { for (let i = 2, s = Math.sqrt(num); i 1을 반환합니다. }
const isPrime = num => {
    for (let i = 2, s = Math.sqrt(num); i  1;
}
이 접근 방식은 보다 간결한 화살표 함수 구문을 활용하면서 이전 접근 방식과 동일한 시간 및 공간 복잡성을 달성합니다.

최신 튜토리얼 더>

부인 성명: 제공된 모든 리소스는 부분적으로 인터넷에서 가져온 것입니다. 귀하의 저작권이나 기타 권리 및 이익이 침해된 경우 자세한 이유를 설명하고 저작권 또는 권리 및 이익에 대한 증거를 제공한 후 이메일([email protected])로 보내주십시오. 최대한 빨리 처리해 드리겠습니다.

Copyright© 2022 湘ICP备2022001581号-3