BOJ/Python

[BOJ/백준] 27465 - 소수가 아닌 수 (Python)

tjdms4327 2024. 11. 8. 16:23

문제

문제링크

n이 주어질 때, 소수가 아닌 n 이상의 정수를 아무거나 구하라.

 

풀이

n부터 시작하여 n보다 큰 소수가 아닌 수 아무거나 구하면 된다.

is_prime 함수와 not_prime 함수를 정의하여 

n부터 시작하여 수가 소수라면 1을 더해 다시 소수인지 판별하는 과정을 반복한다.

n에서 가장 가까운 수가 소수가 아니라고 판별된다면 그 수를 return 한다.

 

코드

def is_prime(n):
    if n < 2:
        return False
    for i in range(2, int(n**0.5) + 1):  # n의 제곱근까지만 검사
        if n % i == 0:
            return False
    return True

def not_prime(n):
    while is_prime(n):
        n+=1
    return n
        
n=int(input())
print(not_prime(n))