백준

백준 1978번: 소수 찾기

1978번: 소수 찾기 (acmicpc.net)
 

1978번: 소수 찾기

첫 줄에 수의 개수 N이 주어진다. N은 100이하이다. 다음으로 N개의 수가 주어지는데 수는 1,000 이하의 자연수이다.

www.acmicpc.net

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
import math
= int(input())
count=0
num = list(map(int, input().split()))
max = max(num)
check=[True for _ in range(max+1)]
check[0]=False
check[1]=False
for i in range(2,int(math.sqrt(max))+1):
    for j in range(i*2,max+1,i):
        check[j]=False
 
for k in range(2,max+1):
    if check[k]==True and (k in num):
        count+=1
print(count)
cs

 

느낀 점

1929번 소수 구하기의 코드를 응용해서 푼 문제. 선배가 알려주신 에러토스테네스의 체를 적용했다

'백준' 카테고리의 다른 글

백준 2667번: 단지번호붙이기  (0) 2021.05.16
백준 9012번: 괄호  (0) 2021.05.07
백준 1929번: 소수 구하기  (0) 2021.05.07
백준 2751번: 수 정렬하기 2  (0) 2021.05.07
백준 2609번: 최대공약수와 최소공배수  (0) 2021.05.07