관리 메뉴

TEAM EDA

[엘리스] 소수 판정 본문

EDA Study/알고리즘

[엘리스] 소수 판정

김현우 2020. 3. 28. 19:33

소수 판정

숫자 n이 주어질 때, 이 숫자가 소수인지 판정하는 isPrime(n)을 작성해봅니다.

[입력값]

첫번째 줄에는 n이 주어집니다.(1≤ n ≤ 100,000,000,000,000)

[결과값]

n이 소수라면 True, 아니면 False를 출력합니다.

풀이

  • math.sqrt(n)으로 길이를 줄인후에 나머지가 0인지 확인
import math

'''
다음의 함수들은 math 내의 함수들입니다. 참고하도록 합니다. 반드시 이 모든 함수를 써야한다는 의미는 아닙니다.

math.sqrt(x) : 루트 x를 반환
math.log(x) : 자연로그 x를 반환
math.log10(x) : 상용로그 x를 반환
'''

def isPrime(n):
    '''
    숫자 n이 소수이면 True, 아니면 False를 반환하는 함수
    '''
    for i in range(int(math.sqrt(n))+1):
        if n % i == 0:
            return False
        else:
            continue

    return True

def main():
    '''
    이 부분은 수정하지 마세요.
    '''

    n = int(input())

    print(isPrime(n))

if __name__ == "__main__":
    main()

 

출처 : 엘리스 아카데미, https://academy.elice.io/learn