반응형
문제 출처 : https://www.acmicpc.net/problem/1978
import sys
totalNum = int(input())
vals = list(map(int,sys.stdin.readline().split()))
total_count = 0
for a in vals:
if a == 1:
continue
if a == 2:
total_count+=1
else:
TF = True
for b in range(2,a):
if a % b == 0:
TF = False
break
else:
continue
if TF == True:
total_count+=1
else:
continue
print(total_count)
일반적인 소수판별문제랑 동일하다. 기본적으로 소수는 1과 자기자신만을 약수로 갖는 수를 의미한다. 이는 즉슨 1,자기자신이외의 수로 나누어진다면 소수가 아니라는 의미이다. 해당 코드에서는 간단하게1과 자기자신 사이의 수로 일일히 나누면서 나머지가 0이 되는 순간 반복문을 멈추게하고 반복문이 멈추지 않으면 소수 개수에 포함시키는 방식을 이용했다.
반응형
'CS 지식 > Algorithm-Problem Solving 정리' 카테고리의 다른 글
1712 손익분기점 python3 (0) | 2020.10.12 |
---|---|
BOJ 1929 소수 구하기 Python3 (0) | 2020.02.09 |
BOJ 11728 배열합치기 Python3 (0) | 2020.02.09 |
백준 온라인 저지 2108 문제풀이 with Python3 (0) | 2020.01.02 |
백준 1110문제 : 한번 더 생각해보고 다시는 이런실수 하지 말기 (0) | 2019.09.03 |