에라토스테네스의 체 (이름은 중요하지 않을 듯)
소수는 해당 소수의 제곱근 이하의 정수로 나눴을 때 나누어 떨어지지 않으면, 소수이다.
for :
else: 문
for문 이후에 else 쓰이면 for문이 모두 끝난 이후에 한 번 실행됨
for x in range(5):
print ("iteration no {} in for loop".format(x+1))
else: # for문 이후에 else 쓰이면 for문이 모두 끝난 이후에 한 번 실행됨
print ("else block in loop")
print ("Out of loop")
결과
iteration no 1 in for loop
iteration no 2 in for loop
iteration no 3 in for loop
iteration no 4 in for loop
iteration no 5 in for loop
else block in loop # for문 이후 한 번 쓰임
Out of loop
참고 사이트
https://www.tutorialsteacher.com/python/python-else-loop
https://velog.io/@letsbebrave/백준-1929번-소수-구하기
N = int(input())
num = list(map(int,input().split()))
answer = 0
for i in num:
if i == 1:
continue # continue는 for문 if문 같은 곳에서 사용 시, 다음 루프로 넘기는 역할을 함
for j in range(2, int(i**0.5)+1):
# (2,int(i**0.5)+1, 2)로 하면 2,4 의 경우 2만 출력됨 (3을 건너뛰기 때문)
if i % j == 0:
break
else :
answer += 1
print(answer)