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

Barbara Streisand
풀어 주다: 2024-10-26 17:57:03
원래의
946명이 탐색했습니다.

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

JavaScript에서 효율적으로 소수 검증

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

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

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

for (let i = 2; i < inputValue; i++) {
  inputValue % i == 0 ? isPrime *= false : isPrime *= true;
}

alert(`${inputValue} is ${isPrime ? 'prime' : 'not prime'} number`);
로그인 후 복사

시간 및 공간 복잡성 분석

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

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

대체 접근 방식

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

const isPrime = num => {
    for (let i = 2, s = Math.sqrt(num); i <= s; i++) {
        if (num % i === 0) return false;
    }
    return num > 1;
}
로그인 후 복사
이 접근 방식은 보다 간결한 화살표 함수 구문을 활용하면서 이전 접근 방식과 동일한 시간 및 공간 복잡도를 달성합니다.

위 내용은 JavaScript에서 숫자가 소수인지 어떻게 효율적으로 확인할 수 있나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!