素数判定ツール|入力した整数が素数かチェック
0以上15桁以内の整数を半角数字で入力してください。
判定する整数を入力してください。
このツールでできること
入力した0以上の整数が素数かどうかを判定できます。0と1にも対応し、判定結果をそのままコピーできます。
使い方
- 判定する整数を入力します。
- 「素数か判定」を押すか、入力欄でEnterキーを押します。
- 判定結果を確認します。
- 必要に応じて「結果をコピー」を押すと、判定結果の1行だけをコピーできます。
入力を変更すると以前の結果は消去されます。「クリア」を押すと入力と結果をまとめて消去します。
入力例・出力例
97を入力すると「97は素数です。」と表示します。1と97以外に正の約数がないためです。91は7で割り切れるため、「91は素数ではありません。」と表示します。
0と1は入力できますが、定義上どちらも素数ではないと表示します。
よくある利用場面
- 数学の問題や教材で整数が素数か確認するとき
- テストデータや識別番号の候補を簡易判定するとき
- 0と1を含む素数の定義を結果とあわせて確認するとき
処理仕様
0以上15桁以内の整数を半角数字で入力してください。正しい3桁区切りカンマと、改行を除く入力前後の空白を使用できます。先頭の0は結果から除かれますが入力桁数には含むため、0000007は7として判定し、0000000000000001は16桁として受け付けません。
負数、小数、全角数字、先頭の+、指数表記、単位、不正なカンマ、数値途中の空白は使用できません。先頭・末尾を含め、改行を含む入力も受け付けません。
素数とは、1より大きい整数のうち、正の約数が1とその数自身だけである数です。そのため、0と1は入力エラーにせず「素数ではありません」と判定し、それぞれ専用の補足を表示します。
入力値はJavaScriptのBigIntへ変換します。最初に2から37までの小さい素数との一致や割り切れを確認し、残りを7個の固定基底によるMiller–Rabin法で調べます。この基底の組み合わせはツールの15桁の入力範囲を決定的に判定するため、乱数を使う確率判定ではなく、丸めも行いません。
結果の整数には3桁区切りカンマを付けます。15桁の999999999999989は「999,999,999,999,989は素数です。」、999999999999999は「999,999,999,999,999は素数ではありません。」と表示します。コピーするのはこの判定結果だけで、画面下の補足は含みません。
入力データについて
入力内容は外部ライブラリを使わず、JavaScriptによりブラウザ内だけで処理されます。ToolRollのサーバーや外部サービスへ送信せず、Cookie、ブラウザストレージ、計算履歴にも保存しません。