[python] 소수(prime number) 구하기, primePy 모듈 활용

코딩/python|2020. 10. 7. 18:13

728x90

소수(prime number)란 1과 자기 자신으로만 나누어 떨어지는 숫자들을 의미합니다. 예를 들어, 2, 3, 5, 7, 11, 13... 등이 소수에 해당합니다. 

 

물론 for 문과 if 문을 잘 활용한다면 소수를 구하는 함수를 만들어낼 수 있지만, 누군가 수고해서 만들어 놓은게 있으면 갖다 쓰면 됩니다. 저는 오늘 primePy라는 모듈을 이용해서 소수를 구해보도록 하겠습니다. 

 

저는 우분투 환경에서 실습을 진행하고 있는데, 다른 개발환경에서도 과정은 거의 같을 테니 걱정마시고 함께 따라오셔도 좋습니다. 언제나 질문은 환영합니다. 

 

우선 primePy 모듈은 다음과 같은 명령어로 설치할 수 있습니다. 

 

pip install primePy

 

 

위와 같이 잘 설치가 되셨다면 이제 primePy 모듈을 활용해보곘습니다. primePy 모듈의 primes.upto(), primes.first(), primes.check() 함수를 사용한 예제 코드는 다음과 같습니다. 

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
from primePy import primes
 
# upto 메서드 예제
primes_to_10 = primes.upto(10)
print("10까지의 소수 리스트:", primes_to_10)
primes_to_100 = primes.upto(100)
print("100까지의 소수 리스트:", primes_to_100)
print() # 띄어쓰기를 위해서
 
# first 메서드 예제
first_5_primes = primes.first(5)
print("처음 5개 소수 리스트:", first_5_primes)
first_10_primes = primes.first(10)
print("처음 10개 소수 리스트:", first_10_primes)
print()
 
# check 메서드 예제
print("15는 소수인가요?", primes.check(15))
print("277은 소수인가요?", primes.check(277))
print()
cs

 

코드를 실행하면 다음과 같은 결과가 출력됩니다. 

 

 

보시는 것과 같이 primes.upto() 함수는 매개변수까지 존재하는 소수들을 리스트의 형태로 반환해줍니다. 또한 primes.first() 함수는 처음 매개변수 개수의 소수들을 리스트의 형태로 반환해줍니다. 그리고 primes.check() 함수는 소수인지 아닌지를 판별해줍니다.