View

[Python] Baekjoon 백준 1978번 소수 찾기

 

문제

주어진 수 N개 중에서 소수가 몇 개인지 찾아서 출력하는 프로그램을 작성하시오.

입력

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

출력

주어진 수들 중 소수의 개수를 출력한다.

 

 

su = int(input())
a = list(map(int, input().split()))

a = a[0:su]
count = 0
cnt = 0
for i in a :
    for j in range(1, i + 1):
        if i % j == 0:
            cnt += 1

    if cnt == 2:
        count += 1
    cnt = 0

print(count)

 

먼저 연속 입력값 a 에 대해 슬라이싱을 한다

 

for 문 으로 각 숫자의 +1 까지 1부터 나머지가 0인지 체크한다

나머지가 0이면 그수의 약수 이기에

cnt 를 +1 하여 약수의 개수를 센다

 

약수의 개수가 2개 면 1과 자신의 수 이기에 소수 이다

그럼 최종 카운팅에 +1

 

반응형
Share Link
reply