diff --git "a/\353\260\261\354\244\200/Silver/1929.\342\200\205\354\206\214\354\210\230\342\200\205\352\265\254\355\225\230\352\270\260/README.md" "b/\353\260\261\354\244\200/Silver/1929.\342\200\205\354\206\214\354\210\230\342\200\205\352\265\254\355\225\230\352\270\260/README.md" new file mode 100644 index 0000000..818632d --- /dev/null +++ "b/\353\260\261\354\244\200/Silver/1929.\342\200\205\354\206\214\354\210\230\342\200\205\352\265\254\355\225\230\352\270\260/README.md" @@ -0,0 +1,28 @@ +# [Silver III] 소수 구하기 - 1929 + +[문제 링크](https://www.acmicpc.net/problem/1929) + +### 성능 요약 + +메모리: 39368 KB, 시간: 436 ms + +### 분류 + +수학, 정수론, 소수 판정, 에라토스테네스의 체 + +### 제출 일자 + +2024년 3월 29일 19:27:06 + +### 문제 설명 + +
M이상 N이하의 소수를 모두 출력하는 프로그램을 작성하시오.
+ +### 입력 + +첫째 줄에 자연수 M과 N이 빈 칸을 사이에 두고 주어진다. (1 ≤ M ≤ N ≤ 1,000,000) M이상 N이하의 소수가 하나 이상 있는 입력만 주어진다.
+ +### 출력 + +한 줄에 하나씩, 증가하는 순서대로 소수를 출력한다.
+ diff --git "a/\353\260\261\354\244\200/Silver/1929.\342\200\205\354\206\214\354\210\230\342\200\205\352\265\254\355\225\230\352\270\260/\354\206\214\354\210\230\342\200\205\352\265\254\355\225\230\352\270\260.py" "b/\353\260\261\354\244\200/Silver/1929.\342\200\205\354\206\214\354\210\230\342\200\205\352\265\254\355\225\230\352\270\260/\354\206\214\354\210\230\342\200\205\352\265\254\355\225\230\352\270\260.py" new file mode 100644 index 0000000..0a02f2f --- /dev/null +++ "b/\353\260\261\354\244\200/Silver/1929.\342\200\205\354\206\214\354\210\230\342\200\205\352\265\254\355\225\230\352\270\260/\354\206\214\354\210\230\342\200\205\352\265\254\355\225\230\352\270\260.py" @@ -0,0 +1,16 @@ +import sys + +m, n = map(int, sys.stdin.readline().split()) + +prime_nums = [1 for _ in range(n+1)] + +prime_nums[0], prime_nums[1] = 0, 0 + +for i in range(2, n+1): + if prime_nums[i] == 1: + for j in range(i*2, n+1, i): + prime_nums[j] = 0 + +for k in range(m, n+1): + if prime_nums[k] == 1: + print(k)