문제
주어진 수 N개 중에서 소수가 몇 개인지 찾아서 출력하는 프로그램을 작성하시오.
입력
첫 줄에 수의 개수 N이 주어진다. N은 100이하이다. 다음으로 N개의 수가 주어지는데 수는 1,000 이하의 자연수이다.출력
주어진 수들 중 소수의 개수를 출력한다.
n = int(input())
arr =list(map(int, input().split()))
answer = 0
for a in arr:
count = 0
for i in range(2, a):
if a%i==0:
count += 1
if count:
n -= 1
if a==1:
n -= 1
print(n)
n = int(input())
arr =list(map(int, input().split()))
answer = 0
for a in arr:
count = 0
if a==1:
n -= 1
else:
for i in range(2, a):
if a%i==0:
n -= 1
break
print(n)
효율성을 높이기 위해 1인 경우와 아닌 수로 구분해주었고, 나누어떨어지는 수를 만나면 반복문을 멈췄다.