Link Search Menu Expand Document
あるまかんライブラリ

:heavy_check_mark: isPrime() (素数判定 $O(\sqrt n)$)
(Math/Number-Theory/is-prime.hpp)

Verified with

Code

#pragma once
#include <cstdint>

/**
 * @brief isPrime() (素数判定 $O(\sqrt n)$)
 */
constexpr bool isPrime(int64_t n) {
    if (n == 2) return true;
    if (n <= 1 || n % 2 == 0) return false;
    for (int64_t i = 3; i * i <= n; i += 2) {
        if (n % i == 0) return false;
    }
    return true;
}
#line 2 "Math/Number-Theory/is-prime.hpp"
#include <cstdint>

/**
 * @brief isPrime() (素数判定 $O(\sqrt n)$)
 */
constexpr bool isPrime(int64_t n) {
    if (n == 2) return true;
    if (n <= 1 || n % 2 == 0) return false;
    for (int64_t i = 3; i * i <= n; i += 2) {
        if (n % i == 0) return false;
    }
    return true;
}
Back to top page