본문 바로가기

반응형

소수 판별

(2)
[BOJ] 백준 9020 골드바흐의 추측 (Swift) 문제 https://www.acmicpc.net/problem/9020 9020번: 골드바흐의 추측 1보다 큰 자연수 중에서 1과 자기 자신을 제외한 약수가 없는 자연수를 소수라고 한다. 예를 들어, 5는 1과 5를 제외한 약수가 없기 때문에 소수이다. 하지만, 6은 6 = 2 × 3 이기 때문에 소수가 아 www.acmicpc.net 풀이 이 문제는 에라스토테네스의 체 알고리즘을 사용하여 소수들을 구할 수 있습니다. 소수를 구하는 것은 쉽게 구할 수 있습니다. 이제 소수를 구한 후, 두 소수의 합이 입력받은 짝수와 같아지는 조건을 출력해주면 됩니다. 하지만, 문제의 조건중 두 소수의 차이가 가장 작은 것을 출력한다. 의 조건을 어떻게 해결해야 할지 고민을 해봐야합니다. 저는 맨 처음에는 두 소수의 합이..
[알고리즘] 간단한 소수 판별 알고리즘 (Swift) 소수 소수(Prime Number)는 1보다 큰 자연수 중 1과 자기 자신만을 약수로 가지는 수 입니다. 간단한 소수 판별 알고리즘 그렇다면 해당 수가 소수인지 아닌지 어떻게 판별할까요? 아주 간단한 방식으로 소수인지 판별할 수 있습니다. 단순히 2부터 자기 자신의 수 - 1 까지의 수 중에서 나누었을 때, 나머지가 0이 되는 수가 하나라도 존재하면 소수가 아닙니다. 이 방식의 경우 시간 복잡도는 $O(n)$이 될 것입니다. 시간 복잡도를 줄일 수 있는 방법이 있을까요?? 개선된 소수 판별 알고리즘 X를 2로 나누었을 때, 나머지가 0이라면 2는 X의 약수입니다. 그렇다면 X는 절대로 소수가 될 수 없겠죠? X를 2로 나누었을 때, 몫 도 X의 약수 입니다. 이러한 성질을 이용해서 시간 복잡도를 줄일 수..

반응형