파게로그

[백준 2581번] 1은 소수가 아니다! 본문

콤퓨타 왕왕기초/PS

[백준 2581번] 1은 소수가 아니다!

파게 2020. 10. 30. 02:10

문제 링크: 2581번 소수

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

 

아리스토텔레스의 체를 만들 때, 1은 소수가 아니라는 점을 절대 잊지 말자...!

 

arr = [False] * 10001 # False: 소수, True: 합성수
arr[1] = True # 여기!

for i in range(2, 10001):
    if arr[i]: # i가 합성수이면 continue
        continue
    
    for j in range(i*2, 10001, i):
        arr[j] = True

# main
m = int(input())
n = int(input())
minn = 10001
summ = 0
flag = False # m, n 사이에 소수가 있는가?

for cur in range(m, n+1):
    if arr[cur]: # 합성수이면 continue
        continue
    
    flag = True # 소수가 하나라도 발견되면 flag = True
    
    # 합
    summ += cur
    
    # 최솟값
    if cur < minn:
        minn = cur

if not flag: # m, n 사이에 소수가 없으면 -1 출력
    print(-1)
else:
    print(summ)
    print(minn)
Comments