728x90
[문제]
https://www.acmicpc.net/problem/4134
4134번: 다음 소수
정수 n(0 ≤ n ≤ 4*109)가 주어졌을 때, n보다 크거나 같은 소수 중 가장 작은 소수 찾는 프로그램을 작성하시오.
www.acmicpc.net
[코드]
범위가 매우 커서 x를 다 돌면 시간초과가 발생한다.
제곱근 이하까지만 돌면서 소수인지 확인한다.
#S4_4134 다음 소수.py
import sys
input = sys.stdin.readline
#isPrime
def isPrime(x):
if x == 0 or x == 1:
return False
for i in range(2, int(x**0.5)+1):
if x % i == 0:
return False
return True
#main
T = int(input())
for i in range(T):
n = int(input())
while True:
if isPrime(n):
print(n)
break
else:
n += 1
시간복잡도의 늪 T^T
반응형
'🚩 Coding Test > Baekjoon' 카테고리의 다른 글
[BOJ][Python] 15650 N과 M (2) (0) | 2024.04.12 |
---|---|
[BOJ][Python] 15649 N과 M(1) (1) | 2024.04.12 |
[BOJ][Python] 2485 가로수 (0) | 2024.04.12 |
[BOJ][Python] 1735 분수 합 (0) | 2024.04.12 |
[BOJ][Python] 13241 최소공배수 (0) | 2024.04.12 |