소수의 합을 저장해야 하나 에반데.. 생각하다가 못 참고 구글링을 해봤는데 소수의 합이니까 입력받은 값에서 소수를 빼면 소수가 나올 때 카운팅을 해주더라. 이 쉬운 걸 왜 생각을 못 했지..! 다음부턴 내 힘으로 푸리라,,🙂↕️
import sys
prime = [0]*2 + [1]*(1000000)
for i in range(2, 1000000): # 소수가 아닌 걸 거르기
if prime[i]:
for j in range(2*i, 1000000, i):
prime[j] = 0
T = int(sys.stdin.readline())
for _ in range(T):
N = int(sys.stdin.readline())
cnt = 0
for i in range(2, N//2+1):
if prime[i] == 1 and prime[N-i] == 1:
cnt += 1
print(cnt)

이게 최선의 방법이 맞나,,,..?