본문 바로가기
알고리즘/수학

[백준][Python] 4134번 다음 소수

by 임짠짠 2022. 9. 13.
반응형
 

4134번: 다음 소수

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

www.acmicpc.net

 

 

코드

import math
def prime(a):
	for i in range(2,int(math.sqrt(a))+1):
		if a % i == 0:
			return False  # 소수 아님
	return True
num = int(input())
for i in range(num):
	a = int(input())
	if a < 2:
		print(2)
	else:
		while 1:
			if prime(a):
				print(a)
				break
			a+=1

 

설명

math.sqrt()를 이용하여 소수인지 확인하는 범위를 해당 숫자의 제곱근으로 줄이면 시간이 단축된다.

주어진 숫자가 2보다 작은 경우는 예외로 두어 2를 출력하게 했다.

반응형

댓글