소개
수학에서 소수 (prime number) 는 1 보다 큰 자연수로서, 두 개의 작은 자연수의 곱으로 표현될 수 없는 자연수를 말합니다. 예를 들어, 5 는 소수입니다. 왜냐하면 5 를 곱셈으로 나타내는 유일한 방법인 1 × 5 또는 5 × 1 은 5 자체를 포함하기 때문입니다. 하지만 4 는 소수가 아닙니다. 왜냐하면 4 는 2 × 2 와 같이 두 숫자가 4 보다 작은 곱셈으로 표현될 수 있기 때문입니다. 이 챌린지에서는 주어진 숫자가 소수인지 아닌지를 확인하는 Python 함수를 작성해야 합니다.
숫자가 소수인지 확인
정수 n을 입력으로 받아 숫자가 소수이면 True를, 그렇지 않으면 False를 반환하는 Python 함수 is_prime(n)을 작성하십시오. 이 문제를 해결하려면 다음 규칙을 따라야 합니다.
- 숫자가
0,1, 음수 또는2의 배수인 경우False를 반환합니다. all()과range()를 사용하여3부터 주어진 숫자의 제곱근까지의 숫자를 확인합니다.- 어떤 숫자도 주어진 숫자를 나누지 않으면
True를, 그렇지 않으면False를 반환합니다.
from math import sqrt
def is_prime(n):
if n <= 1 or (n % 2 == 0 and n > 2):
return False
return all(n % i for i in range(3, int(sqrt(n)) + 1, 2))
is_prime(11) ## True
요약
이 챌린지에서는 Python 을 사용하여 주어진 숫자가 소수인지 아닌지를 확인하는 방법을 배웠습니다. all() 및 range() 함수를 사용하여 3부터 주어진 숫자의 제곱근까지의 숫자를 확인했습니다. 또한 어떤 숫자도 주어진 숫자를 나누지 않으면 True를, 그렇지 않으면 False를 반환하는 방법도 배웠습니다.