본문 바로가기

코딩테스트(python)/백준

백준 2581번 파이썬

반응형

1. 문제

2. 설명

처음에은 두번째 for문의 if문에 break를 안써줘서 계속 타임아웃이 생겼다.

2부터 i 까지의 값으로 i를 나눠줄 때, 하나라도 나머지가 0 이 나오는 순간이 생기면 바로 break를 해주어 시간을 아껴준다.

temp에 n의 값을 넣어준 후, for문을 돌며 소수인지 판별하다 소수가 나오면 temp 값과 비교해서 나온 소수 중 가장 작은 수를 출력할 수 있도록 한다.

3. 코드

m=int(input())
n=int(input())

sum=0;cnt=0;temp=n;

for i in range(m,n+1):
    if i==1:
        continue
    cnt=0
    for j in range(2,i):
        if i%j==0:
            cnt+=1
            break
    if cnt==0:
        if temp>i:
            temp=i
        sum+=i

if sum!=0:
    print(sum)
    print(temp)
else:
    print(-1)
반응형

'코딩테스트(python) > 백준' 카테고리의 다른 글

백준 1929번 파이썬  (0) 2022.09.02
백준 11653번 파이썬  (0) 2022.08.30
백준 1978번 파이썬  (0) 2022.08.30
백준 10757번 파이썬  (0) 2022.08.30
백준 2839번 파이썬  (0) 2022.08.29