백준 2581 풀이

Updated:

2581

소수

문제의 최초 접근 : 소수 특징 파악

I P O

I : 범위의 시작지점 , 끝나는 지점의 정수형 데이터

P : 입력받은 범위 안에서 소수 추출

O : 추출한 소수의 합 , 추출한 소수 중 가장 작은 수
! 만약 소수가 없을 시 -1

source code

  1. 범위내에서 소수 찾기
    for i in range (M, N):
     print("'", i , "'")
    
     for j in range (1, i ):
         if i % j == 0:
             print(j)
     print("-------")
    
  2. 범위내에서 소수 찾아 리스트에 담기
    for i in range (M , N):
     for j in range (1,i):
         if i % j == 0 :
             value.append(j)
     if len(value) == 1:
         print(i)
     value_1.append(value)
     value = []
    

    위 코드를 돌려보면 리스트의 길이가 1인 값들이 소수임을 파악할 수 있다.

  3. 최종 코드
M = eval(input())
N = eval(input())
value = []
prim_number = []
sum_result = 0

if M > 10000 and N > 10000:
    print('error')

else:
    for i in range (M , N):
        for j in range (1,i):
            if i % j == 0 :
                value.append(j)
        if len(value) == 1:
            sum_result += i
            prim_number.append(i)
        value = []
    if not prim_number:
        print(-1)
    else:
        print(sum_result)
        print(prim_number[0])

Leave a comment