본문 바로가기
백준/수학

[백준] #1978 소수 (python)

by 똥먹는낙타 2022. 4. 1.
728x90
반응형

1978번: 소수 찾기 (acmicpc.net)

 

1978번: 소수 찾기

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

www.acmicpc.net

문제

주어진 수 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
반응형

댓글