이 영역을 누르면 첫 페이지로 이동
hoonDEV 블로그의 첫 페이지로 이동

hoonDEV

페이지 맨 위로 올라가기

hoonDEV

BOJ 1929 - 소수 구하기 문제풀이

  • 2020.03.30 21:10
  • 알고리즘/문제풀이

문제를 읽고 이해하기

M이상 N이하의 소수를 모두 출력하는 프로그램을 작성하시오.

 

입력

첫째 줄에 자연수 M과 N이 빈 칸을 사이에 두고 주어진다. (1 ≤ M ≤ N ≤ 1,000,000)

 

출력

한 줄에 하나씩, 증가하는 순서대로 소수를 출력한다

 

재정의와 추상화

주어진 수가 '소수인지 아닌지' 판별할 때는, 소수 판별법을 사용하면 된다. 하지만, 해당 범위에 있는 '모든 소수'를 알고 싶을 때에는 에라토스테네스의 체 알고리즘을 알고 있어야 한다.

 

> 에라토스테네스의 체란?

 

에라토스테네스의 체는 워낙 유명하기도 하고, 공부 한 번만 하면 풀 수 있으므로 풀이는 생략하겠습니다.

 

코드 작성

#include <iostream>
#include <vector>
using namespace std;

int main() {
    cin.sync_with_stdio(false);
    cin.tie(NULL);
    cout.tie(NULL);
    vector<bool> candidates;
    long long M, N;
    cin >> M >> N;

    for (int i = 0; i <= N; i++)
        candidates.push_back(true);

    candidates[1] = false;

    for (long long i = 2; i <= N; i++) {
        if (candidates[i] == true) {
            for (long long j = i; i * j <= N; j++)
                candidates[i * j] = false;
        }
    }

    for (int i = M; i <= N; i++) {
        if (candidates[i])
            cout << i << '\n';
    }
    return 0;
}

 

'알고리즘 > 문제풀이' 카테고리의 다른 글

BOJ 11057 - 오르막 수 문제풀이  (0) 2020.03.31
BOJ 17839 - Baba is Rabbit 문제풀이  (0) 2020.03.31
BOJ 6603 - 로또 문제풀이  (0) 2020.03.30
BOJ 1697 - 숨바꼭질 문제풀이  (0) 2020.03.30
BOJ 1057 - 토너먼트 문제풀이  (0) 2020.03.30

댓글

이 글 공유하기

  • 구독하기

    구독하기

  • 카카오톡

    카카오톡

  • 라인

    라인

  • 트위터

    트위터

  • Facebook

    Facebook

  • 카카오스토리

    카카오스토리

  • 밴드

    밴드

  • 네이버 블로그

    네이버 블로그

  • Pocket

    Pocket

  • Evernote

    Evernote

다른 글

  • BOJ 11057 - 오르막 수 문제풀이

    BOJ 11057 - 오르막 수 문제풀이

    2020.03.31
  • BOJ 17839 - Baba is Rabbit 문제풀이

    BOJ 17839 - Baba is Rabbit 문제풀이

    2020.03.31
  • BOJ 6603 - 로또 문제풀이

    BOJ 6603 - 로또 문제풀이

    2020.03.30
  • BOJ 1697 - 숨바꼭질 문제풀이

    BOJ 1697 - 숨바꼭질 문제풀이

    2020.03.30
다른 글 더 둘러보기

정보

hoonDEV 블로그의 첫 페이지로 이동

hoonDEV

  • hoonDEV의 첫 페이지로 이동

검색

메뉴

  • 홈
  • 태그

카테고리

  • 분류 전체보기 (91)
    • 일상 (13)
      • 후기 (1)
      • 계획 (11)
    • 공지사항 (1)
    • 알고리즘 (54)
      • 문제풀이 (53)
      • 이론 (1)
    • 공부 (19)
      • React (0)
      • Angular (5)
      • Java (3)
      • C, C++ (3)
      • JavaScript (6)
      • WEB (2)
    • 디자인 (1)
      • UI, UX (1)
    • 개발 (0)
      • boom (0)

최근 글

인기 글

댓글

공지사항

아카이브

태그

  • 문제풀이
  • 그리디
  • 알고리즘
  • 이분탐색
  • es6
  • dp
  • 백준
  • javascript

나의 외부 링크

정보

훈개발자의 hoonDEV

hoonDEV

훈개발자

블로그 구독하기

  • 구독하기
  • RSS 피드

방문자

  • 전체 방문자
  • 오늘
  • 어제

티스토리

  • 티스토리 홈
  • 이 블로그 관리하기
  • 글쓰기
Powered by Tistory / Kakao. © 훈개발자. Designed by Fraccino.

티스토리툴바