ペル数計算機
P10 は2378です。ペル数は直前の項の2倍にその前の項を足して作られ、0, 1, 2, 5, 12, 29 と続きます。10000までの番号を入力すると、すべての桁がそろった正確な項と、必要なら一覧が分かります。ブラウザで無料で使えます。
- 無料
- ブラウザで動作
- 登録不要
- データは端末の外に出ません
無料で実行
計算例
- N
- 10
- ペル数
- 2378
- 桁数
- 4
- 最大n
- 10,000
ペル数計算機は、ペル数列の第n項を返します。これは2の平方根の連分数やペル方程式の解と密接に関連する古典的な整数漸化式です。定義によりP0は0、P1は1で、それ以降の各項は前の項の2倍に、その前の項を足したものです。数列の先頭は0、1、2、5、12、29、70、169…と続きます。非負整数のインデックスnを指定すると、このツールはそのペル数を正確な10進文字列として返すため、JavaScriptの安全な整数を大きく超える値でも正確さが保たれます。エンジンは浮動小数点の近道もランダムサンプリングも通信もない決定的なBigInt算術を使います。宿題やコーディングの練習、簡単な確認にはブラウザで無料でお使いいただけます。
ペル数とは何か、結果の見方
おおよそ(1+√2)^nのように成長し、白銀比を含む閉形式に現れ、数論の表では伴ペル・リュカ数と並んで扱われますが、係数が1でない2項の線形漸化式として教えるのは単純です。真実として提示される近似的な浮動小数点公式やランダムな素数のサンプリングはありません。nの欠落、非整数、分数、指数表記、規定上限を超える値、そして負のインデックスはすべて拒否されます。
この最後のルールは意図的なものです:標準的なペル数列は0から上に向かってインデックス付けされ、負のnは符号付きあるいは逆方向の漸化式による拡張ではなく、クライアント側のエラーとして扱われます。フィボナッチ数、リュカ数、ランクによる素数、コラッツ軌道が必要な場合は専用のツールをお使いください。
このページが答えるのはペル数のランクから値への変換のみで、任意で数列一覧も付きます。
インデックスの読み取り方とBigIntが全桁の正確さを保つ仕組み
先頭の任意のプラス記号は許可されますが、埋め込まれた空白、16進数のプレフィックス、負の符号、指数表記は不正なセルが誤ったペル数にすり替わることを防ぐため明確なメッセージとともに拒否されます。古典的な数列でP0は0と定義されているため、0は有効で0を返します。
エンジンはnに対して1万というハードな上限を強制するため、sequenceフラグを有効にしてすべての中間項を収集する場合でも、無料のブラウザ経路とエッジWorkerの両方でメモリと遅延が予測可能な範囲に収まります。
計算は単純な反復ループです:BigIntの0と1から始め、要求されたインデックスに達するまで、次の項=現在の項の2倍+前の項というペアの更新を繰り返します。任意のsequenceブール値は、フォームに親和的な呼び出し元向けにtrue、false、yes、noといった一般的な文字列形式も受け付けます。
ペル数が学習・コード・教育で果たす役割
学生は、教科書がそれらを√2の連分数に結びつけるとき、ワークシートが控えめなnに対するP_nを求めるとき、あるいはx²−2y²=±1の解を探索するときにペル数に出会います。教師は、大きな整数を丸める不透明な電卓アプリを信用せずに、問題集の解答例と完全なプレフィックスを事前に生成できます。
コンテストの練習では、時間に追われる中でOEISの表をダウンロードせずに解答を確認できるよう、ランク付きペル値の高速なオフラインソースがよく必要とされます。科学コミュニケーターは、係数2を持ちながら純粋な整数を生み出す線形漸化式のきれいな例として短いペル数列を使い、nに対する桁数のグラフと組み合わせます。
活用例
宿題と試験対策
インデックスでペル数を列挙する教科書の演習やコンテスト問題向けに、正確なP_n値と任意の全プレフィックスを調べます。
決定的なテストフィクスチャ
大きな静的テーブルを埋め込まずに、単体テストやプロパティチェック、CIアサーション向けに再現性のあるペル数の文字列を生成します。
漸化式とBigIntの指導
係数2を持つ2項漸化式がどう成長するか、そして10進文字列の出力が安全な整数を超えても全桁を正確に保つ仕組みを示します。
よくある質問
どこまでの番号を計算できますか?
10000までです。整数だけで丸めずに計算するため、その番号までのどの項もすべての桁が正確に返ります。結果の横には桁数も表示されます。
ペル数は2の平方根とどう関係していますか?
√2 の連分数や、ペル方程式と呼ばれる x² − 2y² = ±1 の整数解と深く結びついています。そのため、数論の教科書では √2 とあわせて紹介されることがよくあります。
ペル数列とフィボナッチ数列はどう違いますか?
どちらも直前の2項から次の項を作りますが、ペル数列では直前の項を2倍にしてから、その前の項を足します。この2倍のため、項はおおよそ (1 + √2) の n 乗のように増えます。
負の番号は使えますか?
使えません。番号は0以上の整数で入力します。負の数や分数、指数表記の数は推測せずに受け付けません。P0 は0、P1 は1です。
関連ツール
開発者向け — APIアクセス
このページの機能はすべてAPIからも利用できます。自社システムに組み込みたいチーム向けのセクションです。それ以外の方は上のツールをそのままお使いください。
エンドポイント
Bearerトークンで認証し、POST1回でタスクをキューに登録します。結果はWebhookまたは署名付きリンクで受け取れます。
お使いのスタックから呼び出す
curl -X POST https://api.kit.forhosting.com/math/pell-number \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"n":10}'const res = await fetch("https://api.kit.forhosting.com/math/pell-number", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"n": 10
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/math/pell-number",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"n": 10
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/math/pell-number", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"n":10}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"n":10}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/math/pell-number", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)リクエスト例
{
"n": 10
}レスポンス例
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "math.pell_number",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}非同期APIです。task_idは即時に返ります。ポーリングは1秒あたり1リクエストまでです。
料金
単価はすべて公開しています。トークン換算や独自クレジットはありません。失敗したタスクは課金されません。
制限
max_n | 10000 |
エラー
| HTTP | コード | 意味 |
|---|---|---|
401 | unauthorized | APIキーが無効か、指定されていません。Authorizationヘッダーを確認してください。 |
402 | insufficient_balance | 残高が不足しています。チャージ後に再度お試しください。 |
404 | unknown_type | 指定されたタスクタイプは存在しません。タイプ名を確認してください。 |
429 | rate_limited | リクエストが多すぎます。しばらく待ってから再度お試しください。 |
技術的な注記
任意で、P0からPnまでの全体のプレフィックスをリクエストできるため、ワークシートやプロット、単体テストで全リストが必要な場合に便利です。ランクによる再現性のあるペル数値が必要なフィクスチャやコンテストソルバー、教育デモを自動化する場合は、成功したリクエストごとに$0.002のAPIをご利用ください。
ペル数とは何か、レスポンスに含まれる内容
ペル数は、P0 = 0、P1 = 1、そしてn≥2のすべてでPn = 2×P(n-1) + P(n-2)と定義される整数列です。この計算機は、要求されたインデックスn、pellフィールドの下に10進文字列としてのペル値、その文字列の桁数、クライアントがバッチを送信する前に検証できる公開された最大nを返します。任意のsequenceフラグをtrueに設定すると、レスポンスにはP0からPnまでの10進文字列の配列も含まれるため、自分でプレフィックスを再構築する必要がありません。エンジンはサポートされる範囲内で正確な項を組み立てるか、それ以外はinvalid_inputで入力を拒否します。
インデックスの読み取り方とBigIntが全桁の正確さを保つ仕組み
優先されるフィールドはJSON整数としてのnですが、10進数文字列とindex・kというエイリアスも受け付けるため、スプレッドシートやクエリ文字列、型付きフォームでも同じ契約を再利用できます。すべての項はBigIntとして保持され、toStringでシリアライズされるため、IEEE倍精度浮動小数点数が53ビット目以降で失うような桁の欠落がJSONで起こることはありません。自動パイプラインの中で同一の数学的結果が必要な場合は、このページの無料ブラウザ実行と有料APIを組み合わせ、漸化式を自前で再実装せずに済ませてください。
ペル数が学習・コード・教育で果たす役割
開発者は、決定的なテストベクトルを播種したり、APIでのBigInt安全なシリアライズを示したり、近似的な閉形式ではなく正確な第nペル数を要求するプログラミング課題を満たしたりするために、同じ契約をスクリプトから呼び出します。このページでは処理はすべてブラウザ内で完結し、API経由では成功した照会1件ごとに$0.002かかり、検証に失敗した場合は課金されず、レスポンスを返した後は何も保存されません。無料のインタラクティブな検証と、同一の結果を返す有料APIというこの分離はKITのtier Aカタログ全体の方針と一致しており、教室でのデモから自動パイプラインへ、数学的な結果を変えることなく移行できます。伴数列が必要な場合はリュカ数計算機と、ランクによる素数が必要な場合は第n番目の素数ツールと、無料で決定的なエンドポイントの小さなラボを構築する際は他の数学・数論ツールとも組み合わせてください。
技術的な質問
ペル数計算機の料金は?
このページのブラウザ上では無料です。API経由では成功したリクエストごとに$0.002かかり、無効な入力には課金されません。
P0とP1は何ですか?
P0は0、P1は1です。それ以降の項はPn = 2*P(n-1) + P(n-2)に従います。n=0を送ると0が、n=1を送ると1が返ります。
負のインデックスをリクエストできますか?
いいえ。負のnはinvalid_inputで拒否されます。この計算機はn が0以上の場合のみペル数を定義します。
Pnまでの全数列はどう取得しますか?
任意のsequenceフィールドをtrue(エイリアスlist)に設定してください。レスポンスにはP0からPnまでの10進文字列のsequence配列が含まれるようになります。
なぜ結果は数値ではなく文字列なのですか?
大きなペル数はJavaScriptの安全な整数を超えます。10進文字列で返すことで、JSONとブラウザの両方で全桁の正確さが保たれます。