[백준] 2581번 소수

거북이·2023년 1월 2일
0

백준[실버5]

목록 보기
19/114
post-thumbnail

💡문제접근

1은 소수가 아니라는 점을 주의하자

💡코드(메모리 : 30616KB, 시간 : 60ms)

import math

M = int(input())
N = int(input())

def isPrime(number):
    cnt = 0
    for i in range(2, int(math.sqrt(number))+1):
        if number % i != 0:
            pass
        else:
             cnt += 1
    if number == 1:
        return False
    # 소수는 1과 자기 자신을 제외한 나머지 수를 약수로 가지지 않으므로
    if cnt == 0:	
        return True
    # 만약 값이 0이 아니라면 합성수라는 뜻이므로
    else:
        return False

prime_number = []
for i in range(M, N+1):
    if isPrime(i):
        prime_number.append(i)

if len(prime_number) == 0:
    print(-1)
else:
    print(sum(prime_number))
    print(min(prime_number))

💡소요시간 : 14m

전체적으로 코드가 길다는 느낌이 강하게 들었고 나중에 에라토스테네스의 체를 이용해서 다시 한 번 풀어봐야겠다.

0개의 댓글