PS

BOJ 1929 - 소수 구하기

728x90

www.acmicpc.net/problem/1929

 

1929번: 소수 구하기

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

www.acmicpc.net

 

에라토스테네스의 체를 알고 있다면 바로 풀 수 있다

 

- c++

#include <iostream>
 
using namespace std;
 
int M, N;
int arr[1000001];
 
void find_prime() {
    for (int i = 2; i <= N; i++) {
        if (arr[i] == 0)
            continue;
        for (int j = i + i; j <= N; j += i) {
            arr[j] = 0;
        }
    }
 
    for (int i = M; i <= N; i++) {
        if (arr[i] != 0cout << arr[i] << '\n';
    }
}
 
int main() {
    cin.tie(0);
    ios_base::sync_with_stdio(false);
 
    cin >> M >> N;
 
    for (int i = 2; i <= N; i++) {
        arr[i] = i;
    }
 
    find_prime();
 
    return 0;
}
cs

 

 

 

- 참고

blog.naver.com/ndb796/221233595886

 

22. 에라토스테네스의 체

에라토스테네스의 체는 가장 대표적인 소수(Prime Number) 판별 알고리즘입니다. 소수란 '양의 약수를 두...

blog.naver.com

 

728x90

'PS' 카테고리의 다른 글

BOJ 1935 - 후위 표기식 2  (0) 2020.10.25
BOJ 1238 - 파티  (0) 2020.10.02
BOJ 2512 - 예산  (0) 2020.09.28
BOJ 1913 - 달팽이  (0) 2020.09.17
BOJ 1504 - 특정한 최단 경로  (0) 2020.09.17