728x90
반응형
문제
주어진 수 N개 중에서 소수가 몇 개인지 찾아서 출력하는 프로그램을 작성하시오.
입력
첫 줄에 수의 개수 N이 주어진다. N은 100이하이다. 다음으로 N개의 수가 주어지는데 수는 1,000 이하의 자연수이다.
출력
주어진 수들 중 소수의 개수를 출력한다.
예제 입력 1 복사
4
1 3 5 7
예제 출력 1 복사
3
# Code
import sys
input = sys.stdin.readline
n = int(input())
array = list(map(int, input().split()))
count = 0
for num in array:
sig = 0
if num!=1:
for i in range(2,num):
if num%i==0:
sig = 1
break
if sig == 0:
count+=1
print(count)
# Comment
sig 라는 변수를 사용해서 소수를 판별하는 방법으로 풀었다. 2부터 자기자신 전까지 for문을 돌 때 만약에 어떤 수로 나눠진다면(소수가 아니라면) sig를 1로 설정해주었다. 반복문을 나왔을 때 sig 값을 확인해서 0일 경우에는 소수인 것이므로 count++ 해주었다.
728x90
반응형
'백준 > 수학' 카테고리의 다른 글
[백준] #5347 LCM (python) (0) | 2022.04.14 |
---|---|
[백준] #2960 에라토스테네스의 체 (python) (0) | 2022.04.05 |
[백준] #2581 소수 (python) (2) | 2022.03.04 |
[백준] #1934 최소공배수 (python) (0) | 2022.03.01 |
[백준] #2609 최대공약수와 최소공배수 (python) (0) | 2022.03.01 |
댓글