백준 9020-python3

박우영·2023년 1월 13일
0

백준 단계별

목록 보기
51/85

https://www.acmicpc.net/problem/9020

문제)

입력)

첫째 줄에 테스트 케이스의 개수 T가 주어진다. 각 테스트 케이스는 한 줄로 이루어져 있고 짝수 n이 주어진다.

출력)

각 테스트 케이스에 대해서 주어진 n의 골드바흐 파티션을 출력한다. 출력하는 소수는 작은 것부터 먼저 출력하며, 공백으로 구분한다.

제한)

4 ≤ n ≤ 10,000

예제 입력)

3
8
10
16

예제 출력)

3 5
5 5
5 11

시간 제한: 2초 / 메모리 제한: 256MB

문제 풀이)

엄청 복잡하게 보이지만 에라토스테네스의체 알고리즘으로 범위의 소수를 파악하고 최악의 경우에도 n//2 번 이상으로 할필요 없기때문에 for문을 n//2 만큼 반복하게 했다.

또 다른 방법으로는

입력받은 n값에 대해 n//2 값을 a,b 로 설정하고 a +=1 b-=1 로 찾을수도 있다.

0개의 댓글