소수 판별 알고리즘 O(N)
1,2,3,4,5....n
n까지 확인하는 방법이다.
소수 판별 알고리즘 O(sqrt(N))
1,2,3,4,5....sqrt(N)
이는 아래 과정에 의해 시작된다.
A를 합성수 MxN이라고 가정하자.
이때 M>=N이라고 하자.
M^2>=MxN이고,
M>=sqrt(A)이다.
따라서 sqrt(A)까지 확인하면 소수인지 합성수인지 확인할 수 있는 것이다.
소수 판별 알고리즘 O(Nlog(logN))
에라토스테네스의 체는 소수 판별 알고리즘 중에 하나이다.
위 그림의 경우 11^2 까지만 확인하면 모든 수를 탐색할 수 있기 때문에 10의 배수까지만 확인해보면 되어서 소수 판별 중에는 매우 빠른 알고리즘이라고 볼 수 있다.
시간복잡도의 증명은 https://en.wikipedia.org/wiki/Divergence_of_the_sum_of_the_reciprocals_of_the_primes