코딩/백준

[백준 4134번][파이썬] 다음 소수

thisisjade 2023. 11. 21. 21:16
728x90

문제 출처: https://www.acmicpc.net/problem/4134

 

4134번: 다음 소수

첫째 줄에 테스트 케이스의 개수가 주어진다. 각 테스트 케이스는 한 줄로 이루어져 있고, 정수 n이 주어진다.

www.acmicpc.net

 

문제

정수 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