For Programmer
백준 2581번 파이썬 문제풀이(기본수학2 - 소수) 본문
728x90
나의 코드
m = int(input())
n = int(input())
error = 0 #소수 유무(0 이면 소수, 1이면 소수x)
array = [] #소수들을 저장할 배열 선언
for i in range(m, n + 1): #m부터 n까지 각원소 i에 접근
for j in range(2, i): #각 원소 i마다 2부터i-1 까지의 수로 나누어 준다.
if i % j == 0: #만약 i가 2부터 i-1까지의 수로 나누어 떨어진다면
error += 1 #소수가 아님
break #반복문을 빠져나온다.
if error == 0 and i != 1: #만약 반복문 후에 소수가 맞고 그것이 1이 아닌경우
array.append(i) #해당 원소를 배열에 추가해준다.
error = 0 #다시 에러값을 0으로 초기화
if len(array) == 0: #만약 배열에 아무 값이 없다면(소수가 없다면)
print(-1) #-1을 출력
else: #소수가 있다면
print(sum(array)) #배열의 합 출력
print(min(array)) #배열의 최솟값 출력
-> 1978번과 함께 어렵지 않은 문제이다. 그냥 해당 m~n까지의 원소들을 각각 소수가 맞는지 아닌지 직접 2부터 i-1 까지 나누어 보며 결정한다. 소수가 맞는 수들을 리스트에 집어 넣어 최솟값과 합을 출력한다.
728x90
'코팅테스트 > 백준 문제 모음' 카테고리의 다른 글
백준 1929번 파이썬 문제풀이(기본수학2 - 소수 구하기) (0) | 2021.10.03 |
---|---|
백준 11653번 파이썬 문제풀이(기본수학2 - 소인수분해) (0) | 2021.10.02 |
백준 1978번 파이썬 문제풀이(기본수학2 - 소수 찾기) (0) | 2021.10.02 |
백준 2839번 파이썬 문제풀이(기본수학1 - 설탕배달) (0) | 2021.09.10 |
백준 2775번 파이썬 문제풀이(기본수학1 - 부녀회장이 될테야) (0) | 2021.09.10 |
Comments