https://www.acmicpc.net/problem/17103
17103번: 골드바흐 파티션
첫째 줄에 테스트 케이스의 개수 T (1 ≤ T ≤ 100)가 주어진다. 각 테스트 케이스는 한 줄로 이루어져 있고, 정수 N은 짝수이고, 2 < N ≤ 1,000,000을 만족한다.
www.acmicpc.net
# 17103 - Python 3
import sys
from math import sqrt # 제곱근 사용 위해 작성
input = sys.stdin.readline
repeat_time = int(input()) # 반복 횟수
case_list = [] # 입력 받은 숫자들을 저장할 list
for _ in range(repeat_time):
x = int(input())
case_list.append(x)
max_num = max(case_list) # 입력 받은 숫자들 중 최댓값(이 값까지 소수를 구해놓기 위함)
primes = [i for i in range(max_num + 1)] # 소수 모임
primes[0], primes[1] = False, False
for i in range(2, int(sqrt(max_num) + 1)): # 소수 판별
if primes[i]:
for j in range(i * 2, max_num + 1, i):
primes[j] = 0
for i in range(repeat_time):
cnt = 0
for j in range(2, case_list[i] // 2 + 1):
if primes[j] and primes[case_list[i] - j]:
cnt += 1
print(cnt)'코딩' 카테고리의 다른 글
| [Python] 백준 #1237. 정ㅋ벅ㅋ (0) | 2023.03.22 |
|---|---|
| [Python] 백준 #27323. 직사각형 (0) | 2023.03.21 |
| [Python] 백준 #4948. 베르트랑 공준 (0) | 2023.03.20 |
| [Python] 백준 #4134. 다음 소수 (0) | 2023.03.20 |
| [Python] 백준 #2485. 가로수 (0) | 2023.03.20 |