CafeM0ca

[BOJ] 1929번 소수 구하기 본문

Programming/백준

[BOJ] 1929번 소수 구하기

M0ca 2018. 9. 2. 01:30
반응형

에라토스테네스의 체 구현하기

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
37
38
#include <iostream>
#include <cstdio>
using namespace std;
 
bool is_prime(int n)
{
    for(int i = 2;i<n;i++){
        if(n%i == 0)
            return false;
    }
    return true;
}
void Eratos(int n,int m)
{
    int prime[1000001= { 11, };
 
    for(int i = 2; i*<= m; i++){
        if(prime[i] == 0 && is_prime(i)){               // 만약 i가 소수면
            int mul = i;
            for(int j = i + mul; j <= m; j+=mul){           // i의 배수는 소수가 아니다.
                prime[j] = 1;
            }
        }
    }
    for(int i = n; i <= m; i++)
        if(prime[i] == 0)
            printf("%d\n",i);                                       // cout 시간초과
}
 
int main()
{
        int n,m;
        cin >> m >> n;
        if(n==1 && m == n);
        else
            Eratos(m,n);
        return 0;
}
cs


반응형

'Programming > 백준' 카테고리의 다른 글

[BOJ] 9020 골드바흐의 추측  (0) 2019.03.07
[BOJ]11729 하노이의 탑 이동순서  (0) 2018.11.27
[BOJ] 1012번 유기농배추  (0) 2018.07.12
[BOJ]1427번 소트인사이드  (0) 2018.04.29
[BOJ]2750번 수 정렬하기  (0) 2018.04.29
Comments