반응형
문제
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 올려주어 소수를 카운트하는 방식으로 작성되었다.
반응형
'개발 연습장 > 백준 문제풀이' 카테고리의 다른 글
[파이썬, Python] 백준 11653: 소인수분해 (0) | 2022.12.24 |
---|---|
[파이썬, Python] 백준 2581: 소수 (0) | 2022.12.23 |
[파이썬, Python] 백준 10757: 큰 수 A+B (0) | 2022.12.21 |
[파이썬, Python] 백준 2839: 설탕 배달 (0) | 2022.12.18 |
[파이썬, Python] 백준 2775: 부녀회장이 될테야 (0) | 2022.12.17 |