[python] 반복문으로 소수 판별하기

파이썬을 사용하여 반복문을 통해 소수를 판별하는 방법에 대해 알아보겠습니다.

소수란?

소수는 1과 자기 자신으로만 나누어 떨어지는 수를 말합니다. 예를 들어 2, 3, 5, 7, 11 등이 소수입니다.

알고리즘 설명

주어진 수를 2부터 n-1까지의 수로 나누어보며 나누어 떨어지는 수가 있는지 확인합니다. 만약 나누어 떨어지는 수가 하나라도 있다면, 주어진 수는 소수가 아닙니다.

소수 판별 함수 구현

def is_prime(n):
    if n < 2: # 2 미만의 수는 소수가 아님
        return False
    for i in range(2, int(n ** 0.5) + 1):
        if n % i == 0:
            return False
    return True

위의 코드는 주어진 수 n이 소수인지를 확인하는 is_prime 함수입니다. 함수의 작동 방식은 아래와 같습니다.

  1. 만약 주어진 수 n이 2 미만이라면 소수가 아니므로 False를 반환합니다.
  2. 반복문을 통해 2부터 n의 제곱근까지의 수로 나누어보며 나누어 떨어지는 수가 있는지 확인합니다.
  3. 만약 나누어 떨어지는 수가 있다면 소수가 아니므로 False를 반환합니다.
  4. 만약 반복문이 끝날 때까지 나누어 떨어지는 수가 없다면 소수이므로 True를 반환합니다.

예제

print(is_prime(7)) # True
print(is_prime(10)) # False

위의 예제 코드는 is_prime 함수를 이용하여 주어진 수가 소수인지를 확인합니다. 출력 결과는 다음과 같습니다.

True
False

결론

위에서 설명한 알고리즘과 소수 판별 함수를 사용하여 소수를 판별할 수 있습니다. 이를 활용하여 다양한 문제를 해결할 수 있습니다.