
알고리즘 소수 구하기
·
파이썬/코딩테스트
소수의 판별: 기본적인 알고리즘 성능 분석 2부터 𝑋-1까지의 모든 자연수에 대하여 연산을 수행해야 한다 모든 수를 하나씩 확인한다는 점에서 시간 복잡도는 O(X) 이다 약수의 성질 모든 약수가 가운데 약수를 기준으로 곱셈 연산에 대해 대칭을 이루는 것을 알 수 있다 예를 들어 16의 약수는 1, 2, 4, 8, 16이다 이때 2 X 8 = 16은 8 X 2 = 16과 대칭이다 따라서 우리는 특정한 자연수의 모든 약수를 찾을 때 가운데 약수(제곱근)까지만 확인하면 된다 예를 들어 16이 2로 나누어떨어진다는 것은 8로도 나누어떨어진다는 것을 의미한다 소수의 판별: 개선된 알고리즘 (Python) import math # 소수 판별 함수 def is_prime_number(x): # 2부터 x의 제곱근..