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
- c++
- Computer science
- 알고리즘
- 오에스
- Operating System
- 스택
- cs
- 오퍼레이팅시스템
- 백준
- DP
- 개발
- 코테
- coding
- 컴공과
- 정석학술정보관
- 자료구조
- 정석
- 코딩
- 구현
- 너비우선탐색
- OS
- 브루트포스
- Stack
- 문제풀이
- vector
- 컴퓨터공학과
- bfs
- 그래프
- 북리뷰
- 컴공
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