Notice
Recent Posts
Recent Comments
Link
«   2025/10   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
Archives
Today
Total
관리 메뉴

행복한 개구리

백준 21.12.08. 1978번 - 소수 찾기 본문

Algorithm/BaekJoon

백준 21.12.08. 1978번 - 소수 찾기

HappyFrog 2021. 12. 8. 14:07

n = int(input())

nums = list(map(int, input().split()))

cnt = 0

for i in nums:
    div = 0
    if i == 1:
        continue
    else:
        for j in range(2, i):
            if i % j == 0:
                div += 1
        if div ==0:
            cnt += 1
print(cnt)
  • 소수는 약수가 자신 또는 1밖에 없는 수를 말합니다.
  • 따라서 1을 제외하고 주어진 수 ~ 주어진 수 -1까지의 수로 나눌 수 없을 때 소수임을 증명할 수 있습니다.
  • 그러므로 1을 continue하여 건너뛰고 2부터 i-1 까지의 수로 나누어 봅니다.
  • 만약 소수가 아니라면 div의 값이 1씩 올라가기 때문에 소수가 아니라는 뜻이 됩니다.
    • => 따라서 중첩 반복문이 끝나고 div값을 비교하여 0이면 소수를 +1 해주고 아니라면 반복문을 진행합니다.