[Bronze II] Title: 텔레프라임, Time: 32 ms, Memory: 32412 KB -BaekjoonHub

This commit is contained in:
SSUM
2025-04-06 00:10:47 +09:00
parent 433e17e097
commit 3403a1289b
2 changed files with 59 additions and 0 deletions

View File

@@ -0,0 +1,34 @@
# [Bronze II] 텔레프라임 - 7789
[문제 링크](https://www.acmicpc.net/problem/7789)
### 성능 요약
메모리: 32412 KB, 시간: 32 ms
### 분류
수학, 정수론, 소수 판정
### 제출 일자
2025년 4월 6일 00:10:38
### 문제 설명
<p>소수를 매우 좋아하는 수학자가 있다. 이 수학자는 매번 전화번호를 받을 때 마다, 그 전화번호가 소수인지 아닌지를 검사한다. 수학자는 자신의 모든 친구의 전화번호가 소수인지 아닌지를 기억하고 있다.</p>
<p>계속해서 늘어나는 휴대전화 인구의 급증에 따라 정부는 한 자리를 기존 번호 앞에 붙이는 정책을 시행하기로 했다.</p>
<p>수학자는 큰 고민에 빠졌다. 소수 전화번호를 가지고 있는 친구의 전화번호가 이제 평범한 숫자가 될 수도 있기 때문이다.</p>
<p>수학자의 친구 중 한 사람의 원래 전화번호와 새로이 앞에 붙는 번호 한 자리가 주어졌을 때, 원래 전화번호와 새로운 전화번호가 모두 소수인지 아닌지를 구하는 프로그램을 작성하시오.</p>
### 입력
<p>첫째 줄에 여섯 자리의 기존 전화번호와 새로 추가되는 한 자리 번호가 주어진다. 기존 전화번호는 0으로 시작하지 않으며, 새로 추가되는 한 자리 번호는 0이 아니다.</p>
### 출력
<p>원래 전화번호와 새로운 전화번호가 소수이면 Yes를, 아니면 No를 출력한다.</p>

View File

@@ -0,0 +1,25 @@
def is_prime(n):
if n < 2:
return False
for i in range(2, int(n ** 0.5) + 1):
if n % i == 0:
return False
return True
def main():
# 입력받기: 예시 "946859 2"
input_data = input().split()
phone_number = input_data[0]
added_digit = input_data[1]
# 새 전화번호 생성
new_phone_number = int(added_digit + phone_number)
# 소수 판별 후 결과 출력
if is_prime(int(phone_number)) and is_prime(new_phone_number):
print("Yes")
else:
print("No")
if __name__ == "__main__":
main()