본문 바로가기

알고리즘/백준알고리즘

[백준 알고리즘/Python3] 2581 소수

문제 이해 

소수를 찾는 방법 중

 

그 수를 2부터 n-1까지 나눠서 나머지값이 0이 아니라면 그것은 소수이다.

 

문제 입력은 공백으로 구분하는 것이 아니라 \n으로 구분했다.

 

 

코드

m = int(input())
n= int(input())
num =[]

for i in range(m, n + 1):
    error =0
    if(i > 1):
        for j in range(2, i):
            #2부터 들어온 값까지 
            if(i % j == 0):
                error += 1
                break
        if(error == 0):
            num.append(i)
if(len(num) >0):
    print(sum(num))
    print(min(num))
else:
    print(-1)

 

error 변수는 플래그 이다.

 

if문에서 j는 2부터 n-1값 까지 돌고 나눠서 0이 나온다면 그것은 소수가 아니라는 뜻이다.

그래서 break로 2번째 for문을 그만두고 다음 값을 찾는다.

 

 

 

 

 

 

 

 

 

728x90