コラッツ予想計算機
7から始めると、3n+1の規則で1に届くまで16ステップかかり、途中で52まで上がります。好きな正の整数を入れると、数列全体、ステップ数、最大値がすぐに分かります。ブラウザで無料で使えます。
- 無料
- ブラウザで動作
- 登録不要
- データは端末の外に出ません
無料で実行
計算例
- N
- 7
- 最大値
- 52
- 長さ
- 17
コラッツ予想計算機は、正の開始整数nから1まで、有名な「3n+1」の雹数列(hailstone sequence)を組み立てます。各ステップのルールは固定です:現在の値が偶数なら2で割り、奇数なら3を掛けて1を加えます。nを指定すると、このツールは完全な数列、1に到達するまでに必要なステップ数、途中で達した最大値、数列の長さを返します。授業でよくある例には7(16ステップ、最大値52)や27(111ステップ、最大値9232)があります。エンジンは浮動小数点の近道のない決定的な整数算術を使うため、与えられたnの軌道は実行のたびに同一です。通信を呼び出すことも、ランダム性をサンプリングすることも、時計に依存することも一切ありません。宿題やコンテスト対策、予想の探索にはブラウザで無料でご覧ください。
3n+1の規則と表示される結果
コラッツ写像は3n+1問題や雹数列とも呼ばれ、初等数論で最もよく知られる未解決問題の1つです:上記の偶数・奇数のルールを繰り返し適用すると、すべての正の整数は最終的に1に到達するのか?20世紀半ばにロータル・コラッツが述べたこの予想は、答えがイエスであると主張し、コンピューターによって驚異的な範囲のnで検証されていますが、一般的な証明は知られていません。
この計算機は予想を証明すると主張するものではありません。単一の開始値の具体的な軌道を計算します:nから1までの項の順序付きリスト、ステップ数(写像を何回適用する必要があったか)、最大値(nがすでに最大値である場合の開始値を含む、出現した最大の項)、そしてそのリストの長さ(常にステップ数+1)です。7の場合、経路は52を経て2のべき乗を経て1に降下します。
27の場合、軌道は長く9232という最大値に達し、控えめな開始値が驚くほど大きな中間値を生む定番のデモになっています。3n+1のステップが安全な整数の領域を外れてしまうような大きな奇数の中間項も、黙って丸められるのではなく拒否されます。コラッツのルールに従う次の項1つだけが必要な場合は、偶数または奇数のケースを自分で適用してください。
このページが答えるのは、ステップ数、最大値、完全な数列を含む完全な軌道の問いです。
入力の読み取り方と数列の正確さの保ち方
正の値には先頭の任意のプラス記号が許可されますが、埋め込まれた空白、16進数のプレフィックス、指数表記は不正なセルが誤った軌道にすり替わることを防ぐため拒否されます。この計算機は1から始まる正の整数についてコラッツ数列を定義するため、負の整数と0は拒否されます。偶数のステップは単純に現在の値を半分にし、前の項が安全であれば常に範囲内にとどまります。
防御的な最大ステップ予算がWorkerを病的なハングから保護しますが、通常の授業やコンテストの値ははるかに少ない反復で終わります。これにより、既知の雹数列の長さを検証するCIフィクスチャ、学生のステップ数をチェックする採点スクリプト、学生が開始値を変えながら数列をプロットするインタラクティブな授業に理想的なツールになります。
コラッツの軌道が学習・研究デモ・コードで果たす役割
学生は、娯楽数論、整数上の離散力学系、そして述べるのは簡単でも解くのは難しい未解決問題を探索するときにコラッツ予想に出会います。教師は、中間項を隠す不透明な電卓アプリを信用せずに、開始値の停止時間、雹の最大高さ、あるいは完全な軌道を尋ねるワークシートの解答例を生成できます。
開発者は、同じ契約を使って数論ライブラリのサンプルデータを検証したり、プロパティテストのシードにしたり、デモンストレーションのステップの前に期待される数列を事前計算したりします。
コンテストの練習では、時間に追われる中でOEISの表をダウンロードしたり使い捨てのスクリプトを書いたりせずに解答を確認できるよう、コラッツの答えの高速なオフラインソースがよく必要とされます。研究者や科学コミュニケーターは、単純な局所ルールがなぜ不規則な長期挙動を生み出せるかを説明する際、短い軌道を例示として使います。
活用例
宿題とコンテストの雹数列カウント
手作業の長い計算や場当たり的なスクリプトなしで、ワークシートやコンテストのチェック用にコラッツのステップ数、最大値、完全な数列を計算します。
決定的なテストフィクスチャ
既知の開始値と期待される停止時間を固定した、単体テストやプロパティチェック、CIアサーション向けに再現性のあるコラッツの軌道を生成します。
3n+1問題の指導
無料でブラウザ上でnをライブに変えながら、単純な偶数・奇数のルールがどのように長く上昇する軌道を生み出すかを学生に示します。
よくある質問
nが1未満の場合はどうなりますか?
ここでのコラッツ数列は1以上の正の整数nに対してのみ定義されます。
数列はどう計算されますか?
nから始めます。 現在の値が1でない間、偶数ならその半分に、奇数なら3倍して1を足した値に置き換えます。各置き換えを1ステップと数え、開始値を含めて見た最大値を追跡します。
このアルゴリズムはランダム化されていますか?
いいえ。 決定的な整数算術のみを使います。同じnは常に同じ数列、ステップ数、最大値を返します。
これはコラッツ予想を証明しますか?
いいえ。 3n+1写像のもとでの1つの開始値の有限な軌道を計算するだけです。一般的な予想は数論における未解決問題のままです。
7から始めると何ステップで1になりますか?
16ステップで1に到達します。途中で最大値の52まで上がり、その後は2のべき乗をたどって1まで下がります。数列の項数は、開始の7を含めて全部で17です。
関連ツール
開発者向け — APIアクセス
このページの機能はすべてAPIからも利用できます。自社システムに組み込みたいチーム向けのセクションです。それ以外の方は上のツールをそのままお使いください。
エンドポイント
Bearerトークンで認証し、POST1回でタスクをキューに登録します。結果はWebhookまたは署名付きリンクで受け取れます。
お使いのスタックから呼び出す
curl -X POST https://api.kit.forhosting.com/numth/collatz \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"n":7}'const res = await fetch("https://api.kit.forhosting.com/numth/collatz", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"n": 7
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/numth/collatz",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"n": 7
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/numth/collatz", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"n":7}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"n":7}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/numth/collatz", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)リクエスト例
{
"n": 7
}レスポンス例
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "numth.collatz",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}非同期APIです。task_idは即時に返ります。ポーリングは1秒あたり1リクエストまでです。
料金
単価はすべて公開しています。トークン換算や独自クレジットはありません。失敗したタスクは課金されません。
エラー
| HTTP | コード | 意味 |
|---|---|---|
401 | unauthorized | APIキーが無効か、指定されていません。Authorizationヘッダーを確認してください。 |
402 | insufficient_balance | 残高が不足しています。チャージ後に再度お試しください。 |
404 | unknown_type | 指定されたタスクタイプは存在しません。タイプ名を確認してください。 |
429 | rate_limited | リクエストが多すぎます。しばらく待ってから再度お試しください。 |
技術的な注記
採点スクリプトや教育デモ、再現性のあるコラッツの軌道が必要なパイプラインを自動化する場合は、成功したリクエストごとに$0.002のAPIをご利用ください。
コラッツ写像とは何か、レスポンスに含まれる内容
n=1の場合、数列はすでに完了しています:ステップ数は0、最大値は1、数列は1のみを含む単一要素のリストです。フィールドの欠落、非整数、分数、指数表記、安全な整数範囲外の値、1未満のnはすべてinvalid_inputと明確なメッセージで失敗します。
入力の読み取り方と数列の正確さの保ち方
優先されるフィールドはJSON整数としてのnですが、10進数文字列とnumber・value・startというエイリアスも受け付けるため、フォームやスプレッドシート、クエリ文字列が1つの契約を再利用できます。エンジンは入力とすべての中間項についてJavaScriptの安全な整数の範囲内にとどまります:奇数の項が非常に大きく、それを3倍して1を足すと安全な範囲を外れる場合、経路の残りを損なう丸められたIEEE倍精度を生成する代わりに、リクエストはinvalid_inputで失敗します。自動パイプラインの中で同一の数学的結果が必要な場合は、このページの無料ブラウザ実行と有料APIを組み合わせ、写像を自前で再実装せずに済ませてください。
コラッツの軌道が学習・研究デモ・コードで果たす役割
このページでは処理はすべてブラウザ内で完結し、API経由では成功した照会1件ごとに$0.002かかり、検証に失敗した場合は課金されず、レスポンスを返した後は何も保存されません。無料のインタラクティブな検証と、同一の結果を返す有料APIというこの分離はKITのtier Aカタログ全体の方針と一致しており、教室でのデモから自動パイプラインへ、数学的な結果を変えることなく移行できます。素数べきが必要な場合は素因数分解と、第n番目の素数が必要な場合は第n番目の素数計算機と、無料で決定的なエンドポイントの小さな数論ラボを構築する際は他のnumthツールとも組み合わせてください。
技術的な質問
コラッツ予想計算機の料金は?
このページのブラウザ上では無料です。API経由では成功したリクエストごとに$0.002かかり、無効な入力には課金されません。