右切り捨て可能素数チェッカー
素数の末尾の桁を1つずつ取り除いても素数のままかを判定します。3797からは379、37、3が得られ、すべて素数なので条件を満たします。各段階の数がそれぞれの結果とともに表示され、十五桁まで扱えます。ブラウザで無料で使えます。
- 無料
- ブラウザで動作
- 登録不要
- データは端末の外に出ません
無料で実行
計算例
- N
- 3797
- 検証した切り捨て
- 4
右切り捨て可能素数とは、10進表記の右端から数字を1桁ずつ削除し、1桁になるまで各段階がすべて素数となる数です。このチェッカーは元の整数と必要なすべての接頭部分を評価し、どの値が素数かを明確な履歴として返します。数論の問題の確認、生成した候補の検査、定義を満たさない理由の説明にご利用いただけます。計算はすべてローカルかつ決定的であり、ランダムな証人、ネットワーク通信、非公開データ源は使用しません。
右からの切り捨てで必要となる条件
右切り捨て可能素数は、入力した数だけでなく、一連の素数判定をすべて通過する必要があります。完全な10進表記から始め、末尾の数字を削除して残った接頭部分を判定し、最初の1桁だけになるまで繰り返します。たとえば、3797からは3797、379、37、3が得られます。
この列はすべて素数なので、元の数は定義を満たします。方向には意味があります。左端から削除する性質は別のものであり、数字を回転させる性質は巡回素数です。
単なる根拠のない真偽値ではなく、後続の接頭部分も確認できるように列全体を返します。
nの入力方法と応答の読み方
nには、符号、カンマ、空白、小数点、指数表記、先頭のプラス記号を含まない通常の10進文字列をご指定ください。先頭のゼロは削除列を曖昧にするため受け付けません。整数037は数値として37と同じですが、表記上の接頭部分では異なる判定になるためです。
対応範囲は二以上です。 ゼロ、一、負数は必要な列を素数から開始できないため、入力エラーとなります。入力は最大十五桁で、宣言された正確な決定的範囲に収まります。
結果が決定的で再現可能な理由
実装では、入力検証からすべての剰余演算まで正確なBigInt演算を使用します。最初に小さな素因数で明らかな合成数を除外し、残りの候補へ固定底のMiller–Rabin判定を適用します。対応する一千兆未満の範囲では、選択した証人により判定は決定的です。
同じ入力は確率的な信頼度を伴わず、常に同じ数学的回答になります。処理量も厳密に制限されています。十五桁の入力から生じる接頭部分は正確に十五個で、各素数判定は固定の証人集合と対数的な剰余累乗法を使用します。
そのため、対話的な調査にも反復可能な自動検証にも適しています。候補を一時的に調べる場合や定義を段階的に説明する場合はブラウザー実行をご利用ください。共有ソルバーにより、どちらも同じ規則で判定します。
活用例
数論の問題を検証する
右切り捨て可能素数の候補を確認し、必要なすべての素数接頭部分を根拠として表示します。
生成した候補を絞り込む
範囲を限定した探索で生成した整数候補に、決定的な右切り捨て条件を適用します。
数字に関する素数の性質を教える
完全な切り捨て列を表示し、右切り捨て、左切り捨て、回転、通常の素数判定を比較します。
よくある質問
元の数も判定されますか?
はい。 入力した完全な数が切り捨て列の最初の値となり、その数自体も素数である必要があります。
左側の数字を削除しますか?
いいえ。 毎回右端の最後の数字を削除します。左切り捨て可能素数には別の判定が必要です。
先頭のゼロを受け付けないのはなぜですか?
整数値は変わりませんが表記上の切り捨て列が変わるため、正規の10進入力で曖昧さを防ぎます。
条件を満たさないときは何が表示されますか?
元の数から先頭の桁に向かって調べ、最初に素数でなくなった数を示します。残りの段階もすべて表示されるので、単なる「いいえ」ではなく各段階を確認できます。
何桁まで入力できますか?
2以上で十五桁までの整数です。区切り記号、空白、小数点、先頭の0は使えません。先頭の0があると、どの桁を取り除くのかがあいまいになるためです。
関連ツール
開発者向け — APIアクセス
このページの機能はすべてAPIからも利用できます。自社システムに組み込みたいチーム向けのセクションです。それ以外の方は上のツールをそのままお使いください。
エンドポイント
Bearerトークンで認証し、POST1回でタスクをキューに登録します。結果はWebhookまたは署名付きリンクで受け取れます。
お使いのスタックから呼び出す
curl -X POST https://api.kit.forhosting.com/numth/right-truncatable-prime \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"n":"3797"}'const res = await fetch("https://api.kit.forhosting.com/numth/right-truncatable-prime", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"n": "3797"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/numth/right-truncatable-prime",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"n": "3797"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/numth/right-truncatable-prime", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"n":"3797"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"n":"3797"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/numth/right-truncatable-prime", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)リクエスト例
{
"n": "3797"
}レスポンス例
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "numth.right_truncatable_prime",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}非同期APIです。task_idは即時に返ります。ポーリングは1秒あたり1リクエストまでです。
料金
単価はすべて公開しています。トークン換算や独自クレジットはありません。失敗したタスクは課金されません。
制限
max_digits | 15 |
エラー
| HTTP | コード | 意味 |
|---|---|---|
401 | unauthorized | APIキーが無効か、指定されていません。Authorizationヘッダーを確認してください。 |
402 | insufficient_balance | 残高が不足しています。チャージ後に再度お試しください。 |
404 | unknown_type | 指定されたタスクタイプは存在しません。タイプ名を確認してください。 |
429 | rate_limited | リクエストが多すぎます。しばらく待ってから再度お試しください。 |
技術的な注記
右からの切り捨てで必要となる条件
本チェッカーは、調べた列を正確に表示して違いを明確にします。is_right_truncatable_primeは全体の判定を示し、truncationsは各10進接頭部分と個別の素数判定を対応させます。合成数の接頭部分がある場合、first_composite_truncationには完全な数から最初の1桁へ進む途中で最初に見つかった不合格値が入ります。
nの入力方法と応答の読み方
応答内のnは、送信した数字を正確に表すため文字列のままです。truncations_testedは桁数と等しく、元の値と短くしたすべての空でない接頭部分を判定します。truncationsの各オブジェクトには文字列値と素数かどうかの真偽値が入ります。全体が偽なら最初の合成数接頭部分を含み、真なら任意フィールドをnullで返さず省略します。
結果が決定的で再現可能な理由
アルゴリズムは時刻を読み取らず、乱数を生成せず、外部サービスへ接続せず、リクエストデータを保存しません。生成器、採点システム、データパイプラインで同じ安定したJSON契約が必要な場合は、1リクエスト $0.002 のAPIをご利用いただけます。
技術的な質問
nが二未満の場合はどうなりますか?
対応範囲は二から始まるため、リクエストはinvalid_inputエラーを返します。
素数判定は確率的ですか?
いいえ。固定の証人は、対応する十五桁の全範囲で決定的です。
APIリクエストの料金はいくらですか?
各APIリクエストは $0.002 です。対話的な確認にはブラウザー実行をご利用いただけます。