[Python] 소수 찾기

hyeon·2021년 2월 15일
0

Programmers

목록 보기
12/18

from itertools import permutations
import math

def isPrime(number):
    rootNumber = math.sqrt(number); 
    n=2
    if number < n :
        return False
    while(n<=rootNumber): 
        if (number % n == 0) : return False
        n +=1
    return True

def solution(numbers):
    answer = []
    
    numbers = list(numbers)
    perm = []
    for n in range(1,len(numbers)+1) : perm += list(permutations(numbers, n)) 
    
    s = set([int(''.join(p)) for p in list(perm)])
    
    # 소수 판별
    
    answer = [n for n in s if isPrime(n)]
    
    return len(answer)

others

from itertools import permutations
def solution(n):
    a = set()
    for i in range(len(n)):
        a |= set(map(int, map("".join, permutations(list(n), i + 1))))
    a -= set(range(0, 2))
    for i in range(2, int(max(a) ** 0.5) + 1):
        a -= set(range(i * 2, max(a) + 1, i))
    return len(a)

참고 알고리즘 : 에라토네스체

profile
바스락바스락

0개의 댓글

관련 채용 정보

Powered by GraphCDN, the GraphQL CDN