반응형
소수를 찾는 아주 기가막힌 알고리즘
에라토스테네스의 체!
#include <iostream>
using namespace std;
int n = 1000;
bool a[1000];
void PrimeNumber()
{
for (int i = 2; i < n; i++)
a[i] = true;
for (int i = 2; i < n; i++)
{
if (a[i] == false) continue;
for (int j = i * 2; j < n; j += i)
a[j] = false;
}
for (int i = 2; i < n; i++)
if (a[i]) cout << i << " ";
}
int main()
{
PrimeNumber();
return 0;
}
소수를 찾는 기가막힌 방법!
1. 배열을 true로 초기화 한다! ( 0, 1 제외 )
2. 2부터 시작해서 모든 배수에 false 값을 넣는다!
3. true값을 가지고 있는 애들이 전부 소수!
끝!
반응형
LIST
'프로그래밍 > 자료구조와 알고리즘' 카테고리의 다른 글
네트워크 플로우 알고리즘 (0) | 2023.01.12 |
---|---|
위상 정렬 알고리즘 (0) | 2023.01.09 |
KMP 알고리즘 (1) | 2023.01.03 |
다익스트라(Dijkstra) - O(E * logE) (0) | 2022.12.21 |
다익스트라(Dijkstra) - O(n^2) (0) | 2022.12.19 |