티스토리 뷰

Algoritem/Problem solving

소수 판별법

신우섭 2020. 5. 25. 16:14

핵심

소수는 1과 자기자신으로 나누어 떨어지는 수

소수를 판별하는 가장 간단한 방법은

1과 자기자신을 제외한 2 ~ n-1 까지 수로 나누어서 떨어지는지 확인하는 것 이다.

이것은 O(n)의 시간 복잡도를 갖으며 이 방법을 개선한 방법으로

1과 n을 제외한 n의 약수가 존재할 때 가장 작은 약수 a는 a <= \sqrt n 이라는 명제를 가지고

O(logN)의 시간 복잡도를 갖을 수 있도록 한다.

void Funtion(int n)
{
    if (n <= 2) return false;
    for (int i = 2; i * i <= n; i++)
    {
        if (n % i == 0) return false;
    }
    return true;
}
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/05   »
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
글 보관함