ウラム数列電卓
最初の10個のウラム数は1、2、3、4、6、8、11、13、16、18で、10番目は18です。必要な項の数を入力すると、順に並んだ一覧と最後の値が分かります。ブラウザで無料で使えます。
- 無料
- ブラウザで動作
- 登録不要
- データは端末の外に出ません
無料で実行
計算例
- N
- 10
- 最後
- 18
ウラム数列は1と2から始まり、それより前の相異なる2項の和としてちょうど一通りに書ける最小の整数を繰り返し付け加える整数列です。この一意和の規則は述べ方は簡単ですが中身は豊かで、初期の項はほぼ等差に見え、その後に隙間が現れ、なお閉形式の知られていない不規則な塊が続きます。学生は娯楽的な数論でこの数列に出会い、プログラミングコンテストは先頭n項や第nウラム数を求め、研究ノートでは密度がいまも議論されます。本機能は正の整数nを受け取り、長さnの順序付き接頭辞・末項・定義を言い換えた短い式文字列を返します。
ウラム数列の定義と一意和が重要な理由
スタニスワフ・ウラムは、最初の2項を1と2とし、それ以降の各項を直前の項より真に大きく、かつそれより前の相異なる2元の和としてちょうど一通りに表せる最小の整数と定義しました。この規則では3は1+2(一意)、4は1+3(一意。
2+2は被加数が区別されないため不可)、5は1+4と2+3の二通り(したがって除外)、6は先行項の対のうち2+4のみ、と続き、8, 11, 13, 16, 18…となります。一意性フィルタこそが、先行対のすべての和の集合からウラム数を切り分ける条件です。多くの候補は表現が2通り以上あり、現在の最大値より大きくても棄却されます。
第n項の簡単な公式は知られていないため、信頼できる計算は候補を上へ走査し、既に採用した項から非順序対を数え、対の個数がちょうど1の最初の候補を採用します。手続きは完全に決定的で、同じnは常に同じ順序付きリストを返し、乱数種・時計・浮動小数点のドリフト・ネットワーク呼び出しはありません。
末項だけでなく接頭辞全体を返すことで、途中段階の手計算確認・隙間の図示・既知表へのテスト固定が容易になります。第n項だけが必要なときは応答の last を読み、講義スライドやコンテスト採点には sequence 配列をそのまま使ってください。
ウラム数列が役立つ場面
数論の授業や娯楽数学のサークルでは、学習者が候補ごとに対の和を手で数えなくても信頼できる接頭辞を得られるよう、ウラム数列電卓を使います。プログラミングコンテストの作者や LMS 採点器には、初期項に5や7を含むリストを誤りとし、n が1未満を空の成功ではなく拒否する決定的オラクルが必要です。
隙間・密度予想・関連する加法基底との比較を探る研究ノートは、一意和ループを言語ごとに書き直すより共有参照実装の恩恵を受けます。「加法基底に関する製品デモや面接問題は、閉形式があるふりをせず Fibonacci や Sylvester の成長の横に短い表を出せます。
n を公開上限内に保ち、sequence 配列をテストに固定すれば、宿題・CMS プラグイン・エッジワーカー向けに再現可能なウラム接頭辞が得られ、自前の記号計算基盤は不要です。別の添字規約での第n項だけ、モジュラーなウラム風列、任意基底の一意性カウントが後から必要なら、このランディングを過負荷にせず別の検索意図として扱ってください。
活用例
授業と宿題の確認
学生に先頭n個のウラム数を要求させ、2のあとの各項が先行2項の一意和であることを検証し、5や7を含めるよくある誤りを検出します。
コンテスト用フィクスチャと自動採点
プログラミング問題向けに決定的なウラム接頭辞を生成し、n が1未満を拒否する信頼できるオラクルで提出物を採点します。
研究ノートと隙間のプロット
隙間・密度・加法基底を調べるスクリプトへ正確な先頭項を取り込み、一意和探索を毎回実装し直さずに済みます。
よくある質問
ウラム数列とは何ですか?
1と2から始まります。 以降の各項は直前の項より大きく、それより前の相異なる2項の和としてちょうど一通りに書ける最小の整数です。
与えられた n に対してこの電卓は何を返しますか?
先頭n個のウラム数を sequence、第n項を last、エコーされた n、短い式文字列を返します。
n が1未満だとどうなりますか?
列の長さは少なくとも1でなければならず、0や負の n は既定値に書き換えられません。
なぜ 5 はウラム数ではないのですか?
5は1+4と2+3の両方なので、先行項の和としての表現が2通りあり、一意和の規則により除外されます。
最初の10個のウラム数は何ですか?
1、2、3、4、6、8、11、13、16、18です。5や7のような数は、それまでの2項の和として2通り以上に表せるため飛ばされます。
関連ツール
開発者向け — APIアクセス
このページの機能はすべてAPIからも利用できます。自社システムに組み込みたいチーム向けのセクションです。それ以外の方は上のツールをそのままお使いください。
エンドポイント
Bearerトークンで認証し、POST1回でタスクをキューに登録します。結果はWebhookまたは署名付きリンクで受け取れます。
お使いのスタックから呼び出す
curl -X POST https://api.kit.forhosting.com/numth/ulam-sequence \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"n":10}'const res = await fetch("https://api.kit.forhosting.com/numth/ulam-sequence", {
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/numth/ulam-sequence",
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/numth/ulam-sequence", 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/numth/ulam-sequence", 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": "numth.ulam_sequence",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}非同期APIです。task_idは即時に返ります。ポーリングは1秒あたり1リクエストまでです。
料金
単価はすべて公開しています。トークン換算や独自クレジットはありません。失敗したタスクは課金されません。
制限
min_n | 1 |
max_n | 500 |
エラー
| HTTP | コード | 意味 |
|---|---|---|
401 | unauthorized | APIキーが無効か、指定されていません。Authorizationヘッダーを確認してください。 |
402 | insufficient_balance | 残高が不足しています。チャージ後に再度お試しください。 |
404 | unknown_type | 指定されたタスクタイプは存在しません。タイプ名を確認してください。 |
429 | rate_limited | リクエストが多すぎます。しばらく待ってから再度お試しください。 |
技術的な注記
nが1未満の要求は空列やずれた列を捏造せず invalid_input で失敗します。無料のブラウザ経路と有料APIは同じ純粋決定的モジュールを共有するため、授業デモと自動パイプラインが5や7の所属で食い違うことはありません。
入力契約・応答形・エラー挙動
n は欲しい先頭ウラム項の個数です。n が1未満なら、長さ1未満のウラム列は無効であるという明確なメッセージで拒否します。これは本機能が常に少なくとも第1項を返し、0や負の長さを黙って既定値に書き換えないという製品規則と一致します。検証失敗は課金されません。必須の整数フィールド n だけを含む JSON 本体を POST してください。別名 count, length, terms も同じ意味で受け付けます。値は1以上500以下の整数でなければならず、完全な整数を表す数値文字列は可ですが、小数・非数値トークン・欠落フィールド・空文字列は問題を名指しして invalid_input になります。n が500を超える要求も拒否し、最悪時遅延を無料ブラウザツールと軽量 Worker 経路に適した範囲に保ちます。成功時の本体には正規化された n、昇順の通常 JSON 数値配列 sequence(この範囲ではウラム項が指数にほぼ線形に増えるため安全)、sequence[n-1] に等しい last、答えの横に示すための古典的定義を再掲した formula が含まれます。例:n が1なら sequence は1で last も1;n が2なら1つぎ2;n が10なら1,2,3,4,6,8,11,13,16,18で last は18;n が0や負なら invalid_input。
ウラム数列 API が実際に役立つ場面
実装は純粋 parse の tier A なので、成功呼び出しはモデルトークンも外向きネットもなしで公開単価 $0.002 のみ、無効入力は残高を消費しません。
技術的な質問
ウラム数列電卓の料金はいくらですか?
ブラウザツールは無料です。API 要求は成功1回あたり $0.002 で前払い KIT 残高を使い、無効入力は課金されません。