728x90
반응형
안녕하세요. 지난 포스팅의 BOJ 1978번 : 소수 찾기에서는 소수를 찾는 알고리즘을 적용해보았습니다. 오늘은 이를 활용해서 문제를 풀어보도록 하죠. 지난 포스팅과 큰 차이가 나지 않을테니 쉬울겁니다.
완벽한 코딩은 존재하지 않습니다. 제가 제출한 코드 역시 마찬가지고 그저 참고만 해주시길 바랍니다.
핵심 포인트
- 기본 구현능력
- 소수의 정의
제출 코드
M = int(input())
N = int(input())
prime = []
for p in range(M, N + 1) :
flag = 1
if p == 1 : continue
for n in range(2, p // 2 + 1) :
if p % n == 0 :
flag = 0; break
if flag == 1 : prime.append(p)
if len(prime) == 0 : print(-1)
else :
print(sum(prime))
print(min(prime))
해설
기본적인 원리는 지난 포스팅과 동일합니다. 출력에서 $M$보다 크고 $N$보다 작은 소수들의 합과 최소값을 출력해주기 위해 prime 변수를 선언하고 해당 값이 소수라고 판정되면 prime 변수에 append를 시켜주면 됩니다. 만약, prime 변수에 어떠한 값도 들어있지 않은 경우에는 -1을 출력해주면 되죠.
참고자료 및 그림출처
728x90
반응형
'Programming > Coding Problem' 카테고리의 다른 글
BOJ 1929번 : 소수 구하기 (0) | 2022.07.20 |
---|---|
BOJ 11653번 : 소인수분해 (0) | 2022.07.18 |
BOJ 1978번 : 소수 찾기 (0) | 2022.07.13 |
BOJ 2839번 : 설탕 배달 (0) | 2022.07.12 |
BOJ 2775번 : 부녀회장이 될테야 (0) | 2022.07.11 |