실습 - Python

Python 3 - 소수 관련 함수 정리

개발참치 2021. 7. 21.

파이썬의 소수 (Prime Number) 관련 함수들을 정리해보았습니다.

 

입력값 아래의 소수 전체 구하기

def all_prime_number(number):
    a = [False, False] + [True] * (number - 1)
    primes = []

    for i in range(2, number + 1):
        if a[i]:
            primes.append(i)
            for j in range(2 * i, number + 1, i):
                a[j] = False
    return primes

 

소수인지 Check

def check_prime_number(number):
    if number != 1:                 
        for f in range(2, number):  
            if number % f == 0:     
                return False
    else:
        return False

    return True

 

쌍둥이 소수인지 CHECK

def check_twin_prime(number):
    if number != 1:
        for f in range(2, number):
            if number % f == 0:
                return False
        for o in range(2, number + 2):
            if (number + 2) % o == 0:
                return False
    else:
        return False

    return True

 

EMIRP 소수인지 CHECK

def check_emirp_prime(number):
    if number != 1:
        for f in range(2, number):
            if number % f == 0:
                return False
        reversedNumber = int(str(number)[::-1])
        for o in range(2, reversedNumber):
            if reversedNumber % o == 0:
                return False
    else:
        return False

    return True

댓글