본문 바로가기

IT프로그래밍

[Python]파이썬 소수 구하기, 소수 판별 소스코드 & 설명

이전 포스팅한

파이썬에서 약수 출력, 약수 개수 구하기

 

[Python]파이썬 약수 출력, 약수의 개수 구하기 소스코드 & 설명

파이썬에서 입력받은 수의 모든 약수와 약수의 개수를 출력 해보겠습니다. 이번 포스팅에서는 전에 포스팅한 파이썬에서 키보드 입력을 받는 방법(특정형으로 변환) [Python]파이썬 입력 / Python 입력 / 파이썬 i..

manniz.tistory.com

를 조금만 응용하여 바로 소수 판별이 가능합니다.

 

소수란 ?

약수를 1과 자기 자신만 갖고 있는 수입니다.

 

이것을 다르게 정의하면 소수란 결국 약수를 2개(1과 자기자신)만 갖고 있는 수

라는 정의와 동일합니다.

 

그렇다면 모든 약수와 약수를 개수를 구하였을 때

약수의 개수가 2인 것은 소수라고 볼 수있습니다.

 

소스 코드

while(True):
    try:
        input_num = int(input("약수를 구할 숫자를 입력해주세요 : "))
        break;
    except:
        print("숫자만 입력하실 수 있습니다")

count = 0
print(input_num,"의 약수 : ", end='')
for a in range(1, input_num+1):
    if input_num == a:
        print(a)
        count += 1
    elif input_num % a == 0:
        print(a, end=', ')
        count += 1

print(input_num,"의 약수의 총 개수 : ", count)
if count == 2:
    print(input_num,"은(는) 소수(primenumber)입니다")
else:
    print(input_num, "은(는) 소수(primenumber)가 아닙니다")

 

실행 결과

 

 

결국 소수란 약수의 개수를 구하고, 그 안에서 조건문을 통해 바로 구할 수 있다는 것을 알 수 있습니다.