에라토스테네스의 체 알고리즘을 한 번만 사용하여 해결할 수 있습니다.
9020번 - 골드바흐의 추측
1. 에라토스테네스의 체
i가 소수가 아닐 경우, i의 배수들은 이미 소수가 아닌 것으로 판정되었기 때문에, 불필요한 연산을 줄일 수 있습니다.
ex) 4는 소수 2의 배수이므로, 4, 8, 12, 16, ... 은 소수가 아니다.
2. 골드바흐 파티션
10,000 이하의 소수는 1200개가 넘으므로, 하나의 테스트케이스 당 1200^2가 넘는 경우를 모두 탐색하여야 합니다.
그러나 합이 n이 되는 두 자연수 쌍의 개수는 n-1개이므로 각 쌍에 대해 두 자연수가 소수인지 확인하는 연산 n-1회만으로
골드바흐 파티션을 구할 수 있을 것입니다.
ex) n=5 --> (1, 4), (2, 3), (3, 2), (4, 1)
댓글을 작성하려면 로그인해야 합니다.
kwak716 1년 전
에라토스테네스의 체 알고리즘을 이용하여 소수를 판별하였고, 그 소수들을 Arr이라는 새로운 배열에 입력하였습니다.
이후 배열의 원소들의 합이 입력한 n값임을 이용하여 문제를 해결하였는데.. 또 시간 초과라네요..
당연히 이중 반복문에서 시간 초과가 났을거라 생각하는데.. 이는 어떻게 해결하면 좋을까요..? ㅠㅠ