본문 바로가기

소수 판별

수학적 이론은 여기

 

#include <math.h>

int is_prime(int num)
{
    if (num <= 1) return 0; // 1 이하의 수는 소수가 아님
    if (num == 2) return 1; // 2는 소수
    if (num % 2 == 0) return 0; // 2를 제외한 짝수는 소수가 아님

    // num의 제곱근까지 검사
    for (int i = 3; i <= (int)sqrt(num); i += 2)
    {
        if (num % i == 0) return 0; // 나누어떨어지면 소수가 아님
    }
    
    return 1; // 나누어떨어지지 않으면 소수
}

 

'Algorithm' 카테고리의 다른 글

최대공약수 구하기 (유클리드 호제법)  (0) 2025.01.11
인수분해 (에라토스테네스의 체)  (0) 2025.01.01
소수 찾기 (에라토스테네스의 체)  (0) 2025.01.01
약수의 개수 구하기  (0) 2024.11.12
Prefix Sums  (0) 2024.10.13