주어진 값들 중 소수가 몇개인지 출력하는 문제이다.
Link: 소수 찾기
import sys
#sys.stdin = open("../input/1978.txt", "r")
def sol(n):
if(n == 1):
return False
if(n == 2):
return True
max = int(n ** 0.5)
for i in range(2, max+1):
if(n % i == 0):
return False
return True
n = int(input())
data = map(int, input().split())
count = 0
for i in data:
if(sol(i)):
count += 1
print(count)
data 배열에 input 값을 추가한 후
for문을 돌면서 소수인지 판별하여 count를 더한다.
n을 소수인지 판별할려면, 루트 n 까지 for문을 돌려본다.
만약 나눠진다면 합성수 이므로 false를 리턴한다.