[SWEA] 16002. 합성수 방정식 - Python
SWEA '16002. 합성수 방정식' 문제 풀이를 정리했습니다.
2024-11-06조회수 -
PythonAlgorithm
풀이
입력받은 n에 대해 x, x+n 이 합성수 인지 판별하는 함수 생성 만족할 경우 반복문 중지
- 합성수 판별 함수 수의 제곱근까지만 확인하여 약수가 있는지 확인 제곱근을 기준으로 약수들이 대칭이기 때문에 제곱근까지만 확인
코드
# 16002
# 합성수 방정식
# x, y가 합성수인지 확인하는 함수
def chk(num):
for i in range(2,int(num**(0.5))+1):
if num % i == 0:
return True
return False
T = int(input())
for test_case in range(1,T+1):
n = int(input())
x = 4
# x, x+n을 만족하는 x 값을 확인
# x, y(x+n)의 함수가 모두 True 일 때, 반복문 중단
while True:
if chk(x) and chk(x+n):
break
x += 1
print(f"#{test_case} {x+n} {x}")