Prime Sieve
Sieve of Eratosthenes를 사용하여 주어진 한계까지의 모든 소수를 찾고 그리드로 시각화합니다.
숫자 그리드 (소수 강조)
강조 = 소수
소수
2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71, 73, 79, 83, 89, 97
이 도구 소개
소수 체(Prime Sieve)는 지정된 상한까지의 모든 소수를 효율적으로 찾는 수학적 알고리즘입니다. 2000년 이상 전에 개발된 에라토스테네스의 체는 소수 목록을 생성하는 가장 빠른 방법 중 하나이며 암호화, 수론 연구 및 교육 현장에서 널리 사용됩니다. 이 도구는 그 고전적인 알고리즘을 브라우저에 가져오며, 소수의 분포와 특성을 상호작용적으로 탐색할 수 있게 해줍니다.
이 도구를 사용하려면 검색 범위의 상한을 입력하고 "소수 찾기"를 클릭합니다. 도구는 즉시 그 상한까지의 모든 소수를 그리드 형식으로 표시하여 소수의 빈도와 패턴을 쉽게 시각화할 수 있습니다. 일반적인 사용 사례로는 교육 프로젝트용 소수 검증, 암호화 알고리즘용 소수 생성, 연속된 소수 간의 간격 연구, 그리고 소수 분포에 관한 수학적 호기심 탐구가 있습니다.
에라토스테네스의 체는 각 소수의 배수를 합성수로 반복적으로 표시함으로써 작동하며, 표시되지 않은 수만 소수로 남습니다. 이 방법은 각 수를 개별적으로 나누어지는지 확인하는 것보다 훨씬 빠릅니다. 상한이 1백만 미만인 경우 계산은 거의 즉시 완료됩니다. 더 큰 상한의 경우 장치에 따라 몇 초가 걸릴 수 있습니다. 이 도구는 학생, 수학자, 그리고 수론의 기본 구성 요소인 소수에 대해 호기심 있는 모든 사람에게 적합합니다.
자주 묻는 질문
코드 구현
def sieve_of_eratosthenes(limit: int) -> list[int]:
"""Return list of all primes up to limit."""
if limit < 2:
return []
is_prime = [True] * (limit + 1)
is_prime[0] = is_prime[1] = False
i = 2
while i * i <= limit:
if is_prime[i]:
for j in range(i * i, limit + 1, i):
is_prime[j] = False
i += 1
return [n for n, p in enumerate(is_prime) if p]
primes = sieve_of_eratosthenes(100)
print(primes)
# [2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, ...]
print(f"Count: {len(primes)}") # Count: 25Comments & Feedback
Comments are powered by Giscus. Sign in with GitHub to leave a comment.