https://www.acmicpc.net/problem/1929
문제
M이상 N이하의 소수를 모두 출력하는 프로그램을 작성하시오.
입력
첫째 줄에 자연수 M과 N이 빈 칸을 사이에 두고 주어진다. (1 ≤ M ≤ N ≤ 1,000,000)
출력
한 줄에 하나씩, 증가하는 순서대로 소수를 출력한다.
예제 입력 | 예제 출력 |
3 16 | 3 5 7 11 13 |
그냥 범위내 소수를 다 구해버리자 ^^
Python3
M, N = map(int, input().split())
r = [False, False] + [True] * (N - 1)
for i in range(2, int(N ** 0.5) + 1):
if r[i]: r[i*2::i] = [False] * len(r[i*2::i])
print(*[x for x, _ in enumerate(r) if r[x] and x >= M], sep='\n')
'일하는 > Algorithm, Coding' 카테고리의 다른 글
[BAE/<JOON>][백준][#10989] 수 정렬하기 3 (0) | 2019.09.19 |
---|---|
[BAE/<JOON>][백준][#1002] 터렛 (0) | 2019.09.19 |
[BAE/<JOON>][백준][#6064] 카잉 달력 (0) | 2019.09.19 |
[BAE/<JOON>][백준][#2869] 달팽이는 올라가고 싶다 (0) | 2019.09.19 |
[BAE/<JOON>][백준][#1011] Fly me to the Alpha Centauri (0) | 2019.09.19 |