백준 4134번 : 다음 소수
2023. 11. 6. 11:35ㆍ[알고리즘]/문제 풀이
문제
정수 n(0 ≤ n ≤ 4*109)가 주어졌을 때, n보다 크거나 같은 소수 중 가장 작은 소수 찾는 프로그램을 작성하시오.
입력
첫째 줄에 테스트 케이스의 개수가 주어진다. 각 테스트 케이스는 한 줄로 이루어져 있고, 정수 n이 주어진다.
출력
각각의 테스트 케이스에 대해서 n보다 크거나 같은 소수 중 가장 작은 소수를 한 줄에 하나씩 출력한다.
예제 입력 1 복사
3
6
20
100
예제 출력 1 복사
7
23
101
풀이
시간초과
import sys
def is_prime_number(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
test = int(sys.stdin.readline())
for _ in range(test):
n = int(sys.stdin.readline())
while True:
n += 1
if is_prime_number(n):
print(n)
break
n+=1
import sys
input=sys.stdin.readline
N=int(input())
def is_prime_number(x):
for i in range(2,int(x**0.5)+1):
if x%i==0:
return False
return True
for i in range(N):
n=int(input())
while True:
if n==0 or n==1:
print(2)
break
if is_prime_number(n):
print(n)
break
else:
n+=1
반응형
'[알고리즘] > 문제 풀이' 카테고리의 다른 글
백준 17103번 : 골드바흐 파티션 (0) | 2023.11.08 |
---|---|
백준 2108번 : 통계학 (0) | 2023.11.06 |
백준 26069번 : 붙임성 좋은 총총이 (1) | 2023.11.03 |
백준 15649번 : N과 M(1) - 백트래킹 (1) | 2023.11.03 |
백준 24511번 : queuestack (1) | 2023.11.02 |