본문 바로가기

카테고리 없음

[Python] 백준 1978 소수찾기

반응형

코드 작성

 

n = int(input())
k = list(map(int, input().split()))
p=[]

for num in k:
    if num == 1:  #1일경우 pass
        continue
    for i in range(2, int(num**0.5)+1):  #리스트 k 중 num라는 수를 2부터 소수검출
        if num%i == 0:
            break
    else:
        p.append(num)
print(len(p))

 

코드 풀이

#1. 1일경우 패스

1은 소수가 아니기 때문에 넘어간다

#2. 소수검출(에라토스테네스의 체)

예를들어 k값 중 하나가 17일 경우,

int(17의 제곱근)은 4이며,

range(2,4+1)이므로 자기 자신을 제외하고 2,3,4의 배수에 해당하지 않기 때문에 소수이다.

 

#3. p안에 소수 넣기

소수들을 P(prime number(소수))라는 리스트 안에 넣어주고 개수를 세면 끝

 

반응형