출처: 백준 1978번 소수 찾기
해당 문제는 구해야 하는 소수의 범위가 1000이하로 작은 편이기 때문에, 에라토스테네스의 체를 사용하지 않아도 된다.
단순하게 1000까지 숫자를 늘려가면서, 이전 소수들로 나눠서 나머지가 0이 아니면 소수로 추가해 나가면 된다.
number = int(input())
case = list(map(int,input().split()))
prime = [2]
for i in range(3,1000):
check = 0
for j in range(len(prime)):
if i % prime[j] == 0:
check = 1
break
if check != 1:
prime.append(i)
prime_case = 0
for k in case:
if prime.count(k) == 1:
prime_case += 1
print(prime_case)
백준 2581번 소수 문제도 똑같은 원리로 풀 수 있다.