ルックアンドセイ数列
数字の並びを、同じ数字のまとまりごとに声に出して読み、その言葉どおりに書く数列です。1から始めると第5項は111221になります。1から40番目まで途中の項もすべて確認でき、ブラウザで無料で使えます。
- 無料
- ブラウザで動作
- 登録不要
- データは端末の外に出ません
無料で実行
計算例
- 種
- 1
- 返す項の番号
- 5
- 項
- 111221
- 長さ
- 6
- 数列
- 1, 11, 21, 1211, 111221
John Conwayによって広められたルックアンドセイ数列は、各項を同じ桁の連なりとして読み上げて生成します。桁が何回続くかを数え、その回数のあとにその桁を書きます。1のような種から始めると、次は11、その次は21、その次は1211…となります。本計算機は任意の桁種と正の指数nを受け取り、連長ステップをちょうどn−1回繰り返し、n番目の項とその長さ、途中の全数列を返します。nが1未満の値は明確な検証エラーで拒否され、宿題チェッカーや自動テストは成功出力だけでなく安定した失敗意味論にも頼れます。
ルックアンドセイ数列とは何か、なぜ重要か
ルックアンドセイは閉じた算術公式ではなく、桁に対する純粋な文字列処理です。0から9の文字だけからなる種文字列から始めます。次の項を得るには、現在の文字列を左から右へ走査し、連続する等しい桁を最大の連にまとめ、各連について連の十進長さとその桁を順に付けます。
例えば種の1は1が1個なので11になり、11は1が2個なので21になり、21は1211、1211は111221、111221は312211となります。過程は決定的で、逆変換は限られた形でのみ可能であり、Conway定数で有名です。漸近的に、ほぼすべての種で後続項の長さは平均して約1.3倍になります。
学習者は離散数学の授業、次項生成関数を求めるコーディング面接、聴覚的減衰を扱う娯楽的数論の記事でこの数列に出会います。教員は小さな種と控えめなnを例題に使います。各ステップは手で検算でき、文字列は十分な速さで伸びて丁寧な実装を報いるからです。
実務での利用、上限、料金、提供形態
連長符号化の学習、競技の答え合わせ、計算機代数系を入れずにConway数列を示すときに、即時のルックアンドセイ展開が欲しければブラウザツールをご利用ください。検証失敗は残高を消費しません。結果は完全に決定的で、同じ種と同じnは常に同じ項・同じ長さ・同じ数列リストを返します。
言語モデルも外部演算サービスも乱数もなく、継続的インテグレーション検査や再現可能な教材に固定しても安全です。
活用例
宿題と競技の検証
学習者と採点者が与えられた種からのn番目ルックアンドセイ項を確認し、ローカルスクリプトなしで中間項を検査できます。
面接・コーディング演習のオラクル
練習プラットフォームは、有効なseedとnに対して項と数列を返し、nが1未満を安定したエラーコードで拒否する決定的オラクルを呼び出せます。
Conway数列で連長符号化を教える
聴覚的減衰を導入する教材で、読み上げた各連を伸びる桁列の隣に示し、学習者がRLEと古典系列をつなげられます。
よくある質問
nが1未満の場合はどうなりますか?
受け入れられるのは正の整数 n ≥ 1 のみで、0と負は拒否され課金されません。
第1項は種そのものですか?
はい。 nは1始まりです。nが1のとき返る項は種そのもので、それより大きいnは連長符号化をn−1回適用します。
次の項はどうやって作りますか?
今の項を左から読み、同じ数字が続く部分をひとまとまりにします。それぞれについて個数、続けてその数字を書くと次の項になり、1211からは111221が得られます。
項はなぜどんどん長くなるのですか?
各項は前の項を言葉で説明したもので、説明には元より多くの数字が必要になりがちだからです。ほとんどの種で、長さは1段階ごとに約1.3倍になり、これはコンウェイ定数と呼ばれます。
どんな場面で使われますか?
離散数学の授業や、次の項を作る処理を書かせるプログラミングの面接、コンウェイの「音響崩壊」を紹介する数学読み物などでよく登場します。
関連ツール
開発者向け — APIアクセス
このページの機能はすべてAPIからも利用できます。自社システムに組み込みたいチーム向けのセクションです。それ以外の方は上のツールをそのままお使いください。
エンドポイント
Bearerトークンで認証し、POST1回でタスクをキューに登録します。結果はWebhookまたは署名付きリンクで受け取れます。
お使いのスタックから呼び出す
curl -X POST https://api.kit.forhosting.com/math/look-and-say \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"seed":"1","n":5}'const res = await fetch("https://api.kit.forhosting.com/math/look-and-say", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"seed": "1",
"n": 5
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/math/look-and-say",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"seed": "1",
"n": 5
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/math/look-and-say", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"seed":"1","n":5}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"seed":"1","n":5}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/math/look-and-say", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)リクエスト例
{
"seed": "1",
"n": 5
}レスポンス例
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "math.look_and_say",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}非同期APIです。task_idは即時に返ります。ポーリングは1秒あたり1リクエストまでです。
料金
単価はすべて公開しています。トークン換算や独自クレジットはありません。失敗したタスクは課金されません。
制限
max_n | 40 |
max_seed_len | 64 |
エラー
| HTTP | コード | 意味 |
|---|---|---|
401 | unauthorized | APIキーが無効か、指定されていません。Authorizationヘッダーを確認してください。 |
402 | insufficient_balance | 残高が不足しています。チャージ後に再度お試しください。 |
404 | unknown_type | 指定されたタスクタイプは存在しません。タイプ名を確認してください。 |
429 | rate_limited | リクエストが多すぎます。しばらく待ってから再度お試しください。 |
技術的な注記
ルックアンドセイ数列とは何か、なぜ重要か
面接官はまさにこの連長ステップの実装とn番目項を求めることが多く、本機能が安定したJSON APIと無料ブラウザツールとして提供する契約と同じです。
本計算機がn番目項を構築する仕組み
検証後、第1項は種そのものと定義されます。以降の各指数について、核はネットワーク・時計・乱数を使わない純粋な連長符号化パスを適用します。中間文字列を保持するため、応答は最終項とその文字長だけでなく、第1項から第n項までの順序付き数列も返せます。必須フィールドseed(空でない桁文字列)とn(1から40の正の整数)で呼び出します。エンジンは両フィールドの存在、seedが桁のみで公開の長さ上限内であること、nが1未満でも最大超でもない有限整数であることを検証します。seed欠落、非桁文字、空文字列、0、負、非整数、過大なnはすべて invalid_input で失敗し課金されません。
実務での利用、上限、料金、提供形態
スクリプト、宿題チェッカー、面接対策プラットフォーム、教育サイトが単一契約のもとで多くの種と指数の安定したJSONを必要とするときはAPIをご利用ください。成功した各リクエストは $0.002 の課金1件です。コーディング面接サンドボックス、離散数学チュートリアル、文字列アルゴリズムのデモ、中間項を示せないブラックボックス計算機より厳密な連長ルックアンドセイを好むパイプラインにエンドポイントを接続できます。
技術的な質問
このAPIでn番目のルックアンドセイ項をどう生成しますか?
桁文字列フィールドseedと正の整数フィールドnを含むJSON本体を math.look_and_say に送ってください。応答は term、length、1からnまでの全数列を返します。
ルックアンドセイ数列計算機は無料ですか?
ブラウザツールはお使いの端末で無料です。API呼び出しは成功1件あたり $0.002 の前払い KIT 残高を使い、検証失敗は課金されません。
どの種形式が受け付けられますか?
公開の長さ上限内の空でない桁 0–9 の文字列です。文字、空白、符号、空の種は invalid_input で失敗します。