| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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 |
Tags
- HANBIT Academy
- 생능출판
- C++
- The Elements of Computing Systems 2/E
- 데이터 통신과 컴퓨터 네트워크
- JavaScript
- 밑바닥부터 만드는 컴퓨팅 시스템 2판
- 전공자를 위한 C언어 프로그래밍
- hanbit.co.kr
- 백준
- 박기현
- https://insightbook.co.kr/
- 입출력과 사칙연산
- 주우석
- 게임 수학
- 이득우의 게임수학
- C
- BOJ
- Shimon Schocken
- 김진홍 옮김
- (주)책만
- 메타버스
- booksr.co.kr
- 알고리즘
- unity6
- C#
- Noam Nisan
- 일기
- 이득우
- 잡생각 정리글
Archives
- Today
- Total
cyphen156
백준-약수, 배수와 소수 2단계 1929 소수 구하기 본문
에라토스테네스의 체를 사용하여 M 이상 N이하의 모든 소수 구하기
제약사항
- 1 ≤ M ≤ N ≤ 1,000,000
주의 사항
없다.CPP풀이
소수 구하기_1929.cpp
/**
* 백준 소수 구하기_1929
* 에라토스테네스의 체를 사용하여 M 이상 N이하의 모든 소수 구하기
*
* 제한사항
*****************************************
* 1 ≤ M ≤ N ≤ 1,000,000 *
*****************************************
*
*
*
* 주의
* 없다.
*
* 풀이시간 20분
*/
#include <iostream>
using namespace std;
static bool isNotPrime[1000001] = { 0 };
int main(void)
{
ios_base::sync_with_stdio(false);
cin.tie(NULL);
cout.tie(NULL);
int M, N;
cin >> M >> N;
isNotPrime[0] = isNotPrime[1] = true;
for (int i = 2; i * i <= N; ++i)
{
// 현재 소수라고 마스킹 되어 있다면
if (!isNotPrime[i])
{
// 곱한수는 모두 합성수 처리
for (int j = i * i; j <= N; j += i)
{
isNotPrime[j] = true;
}
}
}
for (int i = 0; i < N + 1; ++i)
{
// 현재 인덱스를 감지해서 출력하기 M <= Cout <= N
if (i < M)
{
continue;
}
if (!isNotPrime[i])
{
cout << i << '\n';
}
}
return 0;
}
모든 예제 코드의 소스파일은 제 개인 깃허브 레포지토리에 있습니다.
Workspace/알고리듬 풀이 at main · cyphen156/Workspace
Studying . Contribute to cyphen156/Workspace development by creating an account on GitHub.
github.com
'컴퓨터공학 > 알고리듬 풀이' 카테고리의 다른 글
| 백준-약수, 배수와 소수 2단계 17103 골드바흐 파티션 (0) | 2025.06.09 |
|---|---|
| 백준-약수, 배수와 소수 2단계 4948 베르트랑 공준 (0) | 2025.06.09 |
| 백준-약수, 배수와 소수 2단계 4134 다음 소수 (0) | 2025.06.09 |
| 백준-약수, 배수와 소수 2485 가로수 (1) | 2025.06.05 |
| 백준-약수, 배수와 소수 2단계 1735 분수합 (0) | 2025.06.04 |