반응형
코드 작성
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(소수))라는 리스트 안에 넣어주고 개수를 세면 끝
반응형