소수 구하기

2023. 1. 30. 01:23개인공부/코딩테스트

1929번: 소수 구하기 (acmicpc.net)

 

1929번: 소수 구하기

첫째 줄에 자연수 M과 N이 빈 칸을 사이에 두고 주어진다. (1 ≤ M ≤ N ≤ 1,000,000) M이상 N이하의 소수가 하나 이상 있는 입력만 주어진다.

www.acmicpc.net

시간제한이 있어서 에라토스테네스의 체를 이용해서 해결했다.

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
#include <iostream>    
using namespace std;
 
int main(void)
{
    bool Arr[1000001= { falsetrue};
 
    cin.tie(0);
    ios::sync_with_stdio(false);
 
    int Start = 0;
    int End = 0;
    cin >> Start >> End;
    for (int i = 2; i < End; ++i)
    {
        if (Arr[i] == false)
        {
            for (int j = 2; i*j<=End; ++j)
            {
                Arr[i * j] = true;
            }
        }
 
    }
 
    for (int i = Start; i <= End; ++i)
    {
        if (Arr[i] == false)
        {
            cout << i << "\n";
        }
    }
 
 
    return 0;
}
cs

'개인공부 > 코딩테스트' 카테고리의 다른 글

백준 2738번: 행렬 덧셈  (0) 2023.01.30
백준 9020번: 골드바흐의 추측  (0) 2023.01.30
부녀회장이 될테야  (0) 2023.01.30
1193번 분수 찾기  (0) 2023.01.29
손익분기점  (0) 2023.01.29