백준 2581번 소수(python)

마뇽미뇽·2025년 2월 3일
0

알고리즘 문제풀이

목록 보기
113/165

1.문제

https://www.acmicpc.net/problem/2581

2.풀이

소수인지를 소수 판별 알고리즘을 사용해 확인 후 소수인 경우만 배열에 저장한다. 이후 sum과 min 함수를 사용해 합과 최솟값을 구한다.

3.코드

import math

m = int(input())
n = int(input())
arr = []

for i in range(m,n + 1):
    if i < 2:
        continue

    isPrime = True
    for j in range(2, int(math.sqrt(i)) + 1):
        if i % j == 0:
            isPrime = False
            break

    if isPrime:
        arr.append(i)

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

4. 알게된 점

📚 1. 소수 판별 알고리즘

isPrime = True
    for j in range(2, int(math.sqrt(i)) + 1):
        if i % j == 0:
            isPrime = False
            break
  1. sum() : 리스트나 튜플의 합을 구할 때 사용, min() : 최솟값을 반환에서 사용
profile
Que sera, sera

0개의 댓글