오랜만에 다시 코딩을 공부하고 있다.

    코딩 테스트까진 아니어도 백준이나 코드업에서 문제 하나씩 풀어보고 있는데 소수 판별 문제가 있어서 간단히 정해놓으려고 한다.

     

    파이썬 python 소수 판별

    소수란?

    소수는 1과 자신자신으로만 나눌 수 있는 수를 말한다.

    그러니 소수 판별에 가장 쉬운 방법은 특정한 수 n을 1부터 n까지로 나누어보고 나머지가 없는 수가 3개 이상이면 소수가 아닌 것이다.

     

    좀 더 생각해보면 1과 n은 어차피 약수가 되므로 2부터 n-1까지만 나누면 된다.

    모두 나누는 방법은 for문 같은 반복문을 사용하면 되고 최종적으로 약수의 개수를 if문으로 확인하면 끝이다.

     

     

    소수 판별 코드

    ## input()으로 입력을 받는다고 하면
    ## 정수로 받기 위해 int
    n = int(input())
    
    ## 약수의 갯수를 체크하기 위해 변수를 선언하자.
    divisor = 0
    
    ## for문으로 2부터 n-1까지 나눠보자. 나눈 값이 약수라면 변수에 1을 올리자.
    for i in range(2, n):
    	if n%i==0:
        	divisor+=divisor
            
    ## 마지막으로 결과를 print
    if divisor>0:
    	print('prime number')
    else :
    	pritn('not')

    이런식으로 하면 소수 판별을 할 수 있다.

    true, false로 반환하거나 함수 형태로 만들어서 리턴하는 경우도 위 코드를 응용하면 된다.