문제
주어진 수 N개 중에서 소수가 몇 개인지 찾아서 출력하는 프로그램을 작성하시오.
입력
첫 줄에 수의 개수 N이 주어진다. N은 100이하이다. 다음으로 N개의 수가 주어지는데 수는 1,000 이하의 자연수이다.
출력
주어진 수들 중 소수의 개수를 출력한다.
n = int(input()) // 몇개의 숫자를 받을것인지
num = map(int, input().split()) // 소수인지 확인할 숫자들
cnt = 0 // 소수의 개수
for i in num:
if i != 1:
for j in range(2, i):
if i % j == 0:
break
else:
cnt += 1
print(cnt)
반복문 for을 통해 소수인지 확인할 숫자들이 저장되어있는 변수 num의 값을 차례로 i에 대입 첫번째 if문에서 if i != 1:
에서 1은 소수가 아니므로 1인 경우에는 카운트가 올라가지 X 다음 반복문은 for else 반복문이다. for else 반복문은 for문이 한번 돌아 가고 else에 있는 코드가 실행된다. 그래서 break를 통해 하당 특성일 이용하면 소수인 숫자가 나올때 마다. cnt += 1
를 통해 카운트가 올라간다.