Notice
Recent Posts
Recent Comments
Link
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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 |
Tags
- Stack
- Operating System
- 오에스
- 컴공과
- 구현
- Computer science
- 오퍼레이팅시스템
- 자료구조
- 코테
- 컴퓨터공학과
- 정석
- 컴공
- 개발
- 정석학술정보관
- coding
- 브루트포스
- 알고리즘
- 북리뷰
- vector
- 백준
- c++
- bfs
- cs
- 스택
- 그래프
- 문제풀이
- 코딩
- DP
- 너비우선탐색
- OS
Archives
- Today
- Total
Little Jay
[C++] 백준 1929번 소수 구하기 본문
에라토스테네스 체를 이용해서 구하는 문제
처음에는 쉽게 소수 구하는 알고리즘을 적용했는데
(앞 수랑 비교하는거)
이러다보니 시간 초과가 발생했다.
아무래도 효율적인 알고리즘을 찾다가,
결국 구글에 검색을 해보니 에라토스테네스의 체라는 알고리즘이 있었다.
다른분들의 코드를 참고해서 작성했다.
#include <iostream>
#include <cmath>
using namespace std;
bool primeArr[1000001];
int main(void) {
int m, n;
cin >> m >> n;
for (int i = m; i <= n; i++) {
primeArr[i] = true;
}
primeArr[1] = false;
for (int i = 2; i <= sqrt(n); i++) {
for (int j = i + i; j <= n; j += i) {
primeArr[j] = false;
}
}
for (int i = m; i <= n; i++) {
if (primeArr[i]) printf("%d\n", i);
}
}'알고리즘 > BOJ' 카테고리의 다른 글
| [C++] 백준 1966번 프린터 큐 (0) | 2021.07.16 |
|---|---|
| [C++] 백준 1676번 팩토리얼 0의 개수 (0) | 2021.06.28 |
| [C++] 백준 16395번 파스칼의 삼각형 (0) | 2021.05.10 |
| [C++] 백준 1436번 영화감독 숌(에러) (0) | 2021.05.04 |
| [C++] 백준 1427번 소트인사이드 (0) | 2021.05.04 |
Comments