소수인 수 찾기 문제인데 그냥 노가다다. 처음부버 끝까지 다 탐색해야 한다.
def check(num):
for i in range(2, num):
if num != i and num % i == 0:
return False
return True
n = int(input())
array = list(map(int, input().split()))
count = 0
for num in array:
if num != 1:
if check(num): count += 1
print(count)
근데 이러면 시간 초과 문제에서 걸린다.
A~B 사이 모든 소수 출력 문제 같은 경우 아래와 같이 해야 시간 초과가 해결된다.
def isPrime(num):
if num == 1:
return False
else:
for i in range(2, int(num**0.5) + 1):
if num % i == 0:
return False
return True
M, N = map(int, input().split())
for i in range(M, N + 1):
if isPrime(i):
print(i)