프로그래밍/자료구조와 알고리즘

에라토스테네스의 체

우대비 2023. 1. 5. 11:08
반응형

소수를 찾는 아주 기가막힌 알고리즘

에라토스테네스의 체!

#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