728x90
문제 출처: https://www.acmicpc.net/problem/4134
문제
정수 n(0 ≤ n ≤ 4*109)가 주어졌을 때, n보다 크거나 같은 소수 중 가장 작은 소수 찾는 프로그램을 작성하시오.
입력
첫째 줄에 테스트 케이스의 개수가 주어진다. 각 테스트 케이스는 한 줄로 이루어져 있고, 정수 n이 주어진다.
출력
각각의 테스트 케이스에 대해서 n보다 크거나 같은 소수 중 가장 작은 소수를 한 줄에 하나씩 출력한다.
정답
num = int(input())
for i in range(num):
tmp = int(input())
while 1:
if tmp in (0,1):
print(2)
break
check = True
for i in range(2, int(tmp ** 0.5)+1):
if tmp % i == 0:
check = False
break
if check:
print(tmp)
break
else:
tmp+=1
루트를 씌워서 2의 배수들은 제거를 하고 푸는 문제입니다.
0, 1은 무조건 2를 출력해야하기 때문에 조건문을 추가하였습니다.
728x90
'코딩 > 백준' 카테고리의 다른 글
[백준 1402번][파이썬] 아무래도이문제는A번난이도인것같다 코딩테스트 (1) | 2023.11.25 |
---|---|
[백준 5347번][파이썬] LCM 코딩테스트 (0) | 2023.11.23 |
[백준 14490번][파이썬] 백대열 (1) | 2023.11.21 |
이장님 초대 [백준 9237/파이썬/그리드/코딩테스트] (1) | 2023.11.20 |
창문 닫기 [백준 13909/파이썬/수학/코딩테스트] (0) | 2023.11.12 |