티스토리 뷰

프로그래밍/BOJ

백준 #1978: 소수

열무룩 2020. 1. 22. 14:52

 

접근법


어찌 되었던 소수를 찾아서 리스트에 담던, 누적합을 시켜주어야 한다.

 

따라서 전에 생성해두었던 함수를 재활용해 보았다. 함수는 다음과 같다. (이전 포스팅 참고)

 

def Prime(n):
    if n <= 1:
        pass
    elif n <= 3:
        return n
    else :
        D = 0
        for i in range(2,n):
            if n % i == 0:
                D += 1
        
        if D == 0 :
            return n

 

주어진 범위내에서 숫자를 함수에 적용시켜 함수들만 따로 list에 담아둔 뒤에 문제에서 원하는 답을 출력하도록 했다.

 

 

풀이


N = int(input())
M = int(input())
res = list()
for i in range(N, M+1):
    if bool(Prime(i)) == True:
        res.append(Prime(i))
if sum(res) != 0 :
    print(sum(res),min(res), sep='\n')
else :
    print(-1)

 

필자와 같은 지저분한 코딩보다는 (?) 처음부터 주어진 범위인 1부터 10,000까지의 숫자에서 소수를 

미리 찾아 놓은 뒤에 문제를 해결하는 것이 더 바람직해 보인다...🤷‍♀️

 

 

@ 문제 출처 : 백준

'프로그래밍 > BOJ' 카테고리의 다른 글

백준 #4948: 베르트랑 공준  (0) 2020.01.22
백준 #1929: 소수 구하기  (0) 2020.01.22
백준 #1978: 소수 찾기  (0) 2020.01.22
백준 #1011: Fly me to the Alpha Centauri  (0) 2020.01.19
백준 #2775: 부녀회장이 될테야  (0) 2020.01.19
댓글
링크
최근에 올라온 글
Total
Today
Yesterday