programmers - 소수찾기

resilient

·

2021. 4. 23. 22:18

728x90
반응형
from itertools import permutations

numbers = list(numbers)

data = []
for i in range(len(numbers)):
    data += (list(map(''.join, permutations(numbers,i+1))))

data = set(list(map(int,data)))
data -= set(range(0,2))
for i in range(2, int(max(data) ** 0.5) + 1):
    data -= set(range(i * 2, max(data) + 1, i))
    

print(len(data))

소수를 구할 때 사용한 방법은 이번에 공부한 에라토스테네스 체 법칙을 사용했다.
에라토스테네스 체란 n=2부터 시작하여 일정 범위까지 자신을 제외한 n의 배수를 삭제하면, 남아있는 수는 모두 소수가 된다는 법칙

반응형