Thingmemo
実装一覧へ戻る

数論

素数の Lucas テスト

素数指数pを前提とするLucas–Lehmer法だけで、Mersenne数2ᵖ−1の素数性を厳密判定します。

TIME
O(p·M(p))
SPACE
O(p²)

p = 指数、M(p) = pビット整数の乗算時間(全剰余履歴を保存) / 上限: 指数pは2〜127の整数。pが素数でない場合は前提不成立を返す

Mersenne数をLucas-Lehmer法で判定します。

関連するアルゴリズム