본문 바로가기

코드연습/BOJ

BOJ 1978 : 소수 찾기

728x90

문제

주어진 수 N개 중에서 소수가 몇 개인지 찾아서 출력하는 프로그램을 작성하시오.

풀이

소수 1보다 큰 자연수 중 1과 자기 자신만을 약수로 가지는 수이다. 즉 1이면 소수가 아니고, 2이상의 수부터 N까지 나눴을 때, 나누어 떨어지는 수는 제외하면 된다.

import sys

if __name__ == '__main__':
    n = int(input())
    a = list(map(int, input().split()))
    count = n
    for i in a:
        if i == 1:
            count -= 1
            continue
        for j in range(2, i):
            if i % j == 0:
                count -= 1
                break

    print(count)

이 문제도 갑자기 소수의 정의가 생각이 안나서 다시 찾아보고 풀었다. 근데 어렵진 않다.

'코드연습 > BOJ' 카테고리의 다른 글

BOJ 1165 : 소인수 분해  (0) 2022.04.13
BOJ 2581 : 소수  (0) 2022.04.13
BOJ 2839 : 설탕배달  (0) 2022.04.13
BOJ 2775 : 부녀회장이 될테야  (0) 2022.04.12
BOJ 10250 : ACM 호텔  (0) 2022.04.11