[BOJ]17103. 골드바흐 파티션

Jungmin Lee·2021년 4월 17일
0

APS

목록 보기
22/25
post-thumbnail

BOJ 17103 문제 바로가기
문제의 저작권은 백준 온라인저지에 있습니다.

문제

나의 코드

def is_sosu(mynum):
    if sosu_list[mynum]:
        return True
    else:
        return False
# 초기 입력
T=int(input())
input_list=[int(input()) for _ in range(T)]
maxnum=max(input_list)

# 소수리스트 만들어놓기
sosu_list=[False]*(maxnum+1)
for i in range(2,maxnum+1):
    tmp_is = True
    for j in range(2, int(i**0.5)+2):
        if i % j ==0:
            tmp_is = False
            break
    sosu_list[i]=tmp_is
sosu_list[2]=True

# 골드바흐 파티션 개수 찾기
for inp in input_list:
    answer=0
    for i in range(inp//2+1):
        if sosu_list[i] and sosu_list[inp-i]:
            answer += 1
    print(answer)

미리 만들어두지 않고 시행마다 계속확인하면 시간이 너무 오래걸린다

profile
금융 도메인과 개발 지식을 함께 쌓아가는 주니어 개발자입니다😊

0개의 댓글