프로그래밍 언어/파이썬

백준 > 1929 소수 구하기

B612 2024. 3. 2. 19:03

범위 내의 소수를 구하는 가장 빠른 방법은 '에라토스테네스의 체'로 알려져 있다.

 

에라토스테네스의 체는 2부터 n의 제곱근까지 배수를 제거하는 방식이다.

풀이를 찾아보다가 매우 신선한 코드를 발견해 기록하고자 한다.

 

import math

n, m = map(int, input().split())

for i in range(n, m + 1):
    if i == 1:
        continue
    for j in range(2, int(math.sqrt(i)) + 1):
        if i % j == 0:
            break
    else:
        print(i)

 

나는 if else문 사이에 for문을 저렇게 넣을 수 있는지 처음 알았다;

보고 코드 되게 똑똑하게 짰다고 생각했다.

 

 

코드 참고: https://velog.io/@yj_lee/%EB%B0%B1%EC%A4%80-1929%EB%B2%88-%EC%86%8C%EC%88%98-%EA%B5%AC%ED%95%98%EA%B8%B0-%ED%8C%8C%EC%9D%B4%EC%8D%AC

'프로그래밍 언어 > 파이썬' 카테고리의 다른 글

백준 > 9012 괄호  (0) 2024.03.28
백준 > 1920 수 찾기  (0) 2024.03.10
백준 > 10989 수 정렬하기 3  (0) 2024.02.29
백준 > 11656 접미사 배열  (0) 2024.02.24
백준 > 1764 듣보잡  (0) 2024.02.23