개발 연습장/백준 문제풀이

[파이썬, Python] 백준 1978: 소수 찾기

LooanCheong 2022. 12. 22. 21:20
반응형

문제

https://www.acmicpc.net/problem/1978

 

1978번: 소수 찾기

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

www.acmicpc.net

코드

n = int(input())
num = map(int, input().split())
result = 0
for i in num:
    cnt = 0
    if(i==1):
        continue
    for j in range(2, i+1):
        if(i%j == 0):
            cnt += 1
    if cnt == 1:
        result += 1
print(result)

설명

소수를 판별하는 방법 중 하나는 '에라토스테네스의 체'라는 것을 이용하는 것인데,
위의 코드는 그것을 이용해보지 않았던 때, 작성했던 코드이다.

우선 수를 입력 받아주고 1부터 그 수까지(3이면 1,2,3) 반복문을 통해 나눗셈을 진행해준다.
만약 어떤 수로 나눈 나머지가 0이라면 cnt를 1 올려주어 체크하고,
cnt가 1이라면(자기 자신으로만 나누어진다면) 결과값을 1 올려주어 소수를 카운트하는 방식으로 작성되었다.

반응형