문제
https://www.acmicpc.net/problem/1978
문제는 위 사이트를 참고해주세요.
풀이
N = int(input())
num = list(map(int, input().split()))
count = 0
for i in range(N):
n = num[i]
if n % 2 == 0:
if n == 2:
count += 1
else:
for x in range(2, n+1):
if x < n and n % x == 0:
break
elif n % x == 0:
count += 1
print(count)
N에 입력할 숫자의 개수를 입력해줍니다.
num에는 소수인지 판별할 숫자를 리스트로 저장합니다.
count는 소수의 개수를 저장합니다.
for문을 숫자의 개수만큼 돌리고, n에 for문이 돌때마다 숫자를 저장시켜줍니다.
2를 제외하고 2로 나누어진다면 소수가 아니기 때문에 2일 경우에만 count += 1을 합니다.
2로 나누어지지 않을 경우에 숫자가 자신보다 작은 숫자로 나누어지면 for문을 멈춥니다.
그게 아니고 숫자가 자기 자신으로만 나누어지면 count += 1을 합니다.
그리고 마지막으로 count를 출력해줍니다.
결과
'IT > 알고리즘' 카테고리의 다른 글
1일 N알고리즘 - #22 (0) | 2020.05.22 |
---|---|
1일 N알고리즘 - #21 (0) | 2020.05.21 |
1일 N알고리즘 - # 19 (0) | 2020.05.20 |
1일 N알고리즘 - #18 (0) | 2020.05.20 |
1일 N알고리즘 - #17 (0) | 2020.05.19 |
댓글