| 시간 제한 | 메모리 제한 | 제출 | 정답 | 맞힌 사람 | 정답 비율 |
|---|---|---|---|---|---|
| 2 초 | 128 MB | 249462 | 118918 | 95045 | 47.375% |
문제
주어진 수 N개 중에서 소수가 몇 개인지 찾아서 출력하는 프로그램을 작성하시오.
입력
첫 줄에 수의 개수 N이 주어진다. N은 100이하이다. 다음으로 N개의 수가 주어지는데 수는 1,000 이하의 자연수이다.
출력
주어진 수들 중 소수의 개수를 출력한다.
풀이
N = int(input())
nums = list(map(int, input().split()))
cnt = 0
for n in nums:
if n == 1: cnt -= 1
for i in range(2, int(n**(0.5))+1): # math.sqrt 안하고 이거 해도 되네!
if n % i == 0:
break
else:
cnt += 1
print(cnt)math.sqrt(n)대신 n**(0.5)를 사용해도 됨 #Computer #PS