n=int(input())
n2=list(map(int, input().split()))
c, no=0,0
for i in n2:
if i>1:
for j in range(2,i):
if (i%j)==0:
no+=1
if no==0:
c+=1
print(c)
n=int(input())
n2=map(int, input().split())
c, no=0,0
for i in n2:
if i>1:
for j in range(2,i):
if i%j==0:
no+=1
if no==0:
c+=1
print(c)
첫번째와는 다르게 list를 제거해주었다.
그래도 오류가 발생했다.
n=int(input())
n2=map(int, input().split())
c=0
for i in n2:
no=0
if i>1:
for j in range(2,i):
if i%j==0:
no+=1
if no==0:
c+=1
print(c)
no변수를 반복문 안에서 초기화해주었다.
실수를 한 게 n2를 순차적으로 접근하면서 현재 접근한 숫자가 소수가 아니면
no에 1을 더해 no가 0이 아니게 만들어 소수를 판별하도록 했다.
여기서 실수를 한 것이다.
한 숫자에 접근하면(ex 3) 그 다음 숫자에서는(ex 5) no를 0으로 만들어 다시 소수인지 판별해야 됐는데 바보같이 바깥에다 no를 선언해 초기화 할 수 없게 만들어 버린것..(결과적으론 처음 숫자를 제외하고 모두 소수가 아니라고 판별함)