リュカ素数チェッカー
添字を入れるだけで、その位置のリュカ数が素数かどうかが分かります。L(5)は11で2桁の素数、L(6)は18で合成数です。各値は2, 1, 3, 4, 7…から正確に計算します。ブラウザで無料で使えます。
- 無料
- ブラウザで動作
- 登録不要
- データは端末の外に出ません
無料で実行
計算例
- N
- 5
- リュカ数
- 11
- リュカの桁
- 2
リュカ数はフィボナッチ数列の同伴列です。L(0)=2、L(1)=1、以降は直前の2項の和なので、列は 2, 1, 3, 4, 7, 11, 18, 29, 47 … と進みます。リュカ素数とは、素数でもあるリュカ数のことです。代表例は L(0)=2、L(2)=3、L(4)=7、L(5)=11、L(7)=29、L(8)=47 で、L(1)=1 と L(3)=4 は素数ではありません。
リュカ数とは何か、L(n) が素数になり得る条件
リュカ数列はフィボナッチと同じ漸化式を持ちますが、初期値が異なります。L(0)=2、L(1)=1 とすると、以降は常に L(n)=L(n-1)+L(n-2) です。閉じた形 L(n)=φ^n+(1−φ)^n(φ は黄金比)は、項が φ^n のように指数的に増えることを示し、L(n) はすぐに多桁の整数になります。
リュカ素数とは、通常の意味で素数である項 L(n) です。すなわち1より大きく、1と自身以外の正の約数を持ちません。小さな n でも差が分かります。
L(0)=2 は素数、L(1)=1 は定義上素数ではなく、L(2)=3・L(4)=7・L(5)=11 は素数、L(3)=4・L(6)=18 は合成数です。数論ではどの n で L(n) が素数になり得るかが研究され、多くの合成数インデックスは L(n) の代数的因数分解を強制するため、大きなリュカ素数の探索は慎重に選んだ n に集中します。
教室やコンテスト準備では、最終の可否フラグと同じくらい中間値の提示が重要であり、この透明性が役立ちます。
リュカ素数チェッカーが実際の業務に合う場面
教員やオリンピック指導者は、生徒の L(n) 表の確認、漸化式が合成数を生む反例の生成、同じ授業でリュカ素数とフィボナッチ素数の対比に本チェッカーを使います。パズルや余暇数学の生成器は、L(n) が素数であるインデックスだけがレベル表に入るよう候補シードを絞り込みます。これは任意整数への素な素数判定より厳しく、特徴的な列になります。
検索意図や製品ルールが L(n) の素数性そのものであるときに本機能を選び、任意整数の一般的な素数判定だけが必要な場合、メルセンヌ数 2^p−1 の Lucas–Lehmer 試験が必要な場合、素数を法とする二項係数のリュカの定理が必要な場合には選びません。
活用例
パズルのシードとレベルフィルタ
L(n) が素数であるインデックス n だけを受け入れ、ゲームのシードを任意素数ではなく特徴的なリュカ素数列にします。
研究ノート向けの小表ベースライン
より重い探索や大きなリュカ素数向け CAS スクリプトの前に、n が数百までの L(n) と素数性を確認します。
よくある質問
リュカ素数とは何ですか?
素数でもあるリュカ数 L(n) です。例として L(0)=2、L(2)=3、L(4)=7、L(5)=11 はリュカ素数で、L(1)=1 と L(3)=4 はそうではありません。
ここでの L(n) の定義は?
L(0)=2、L(1)=1、n≥2 では L(n)=L(n−1)+L(n−2) です。フィボナッチと同じ漸化式で初期値だけが異なります。
どのリュカ数が素数ですか?
最初のほうでは、L(0)=2、L(2)=3、L(4)=7、L(5)=11、L(7)=29、L(8)=47が素数です。L(1)=1は定義上素数ではなく、L(3)=4とL(6)=18は合成数です。
添字5のとき結果には何が表示されますか?
L(5)=11であること、値が2桁であること、そして素数であることが表示されます。はい・いいえだけでなくリュカ数そのものが分かるので、手元の表と照らし合わせられます。
どこまでの添字を調べられますか?
0から200までの整数の添字です。負の添字は、ここではリュカ数が定義されていないため受け付けません。この範囲では、値を正確に計算してから判定します。
関連ツール
開発者向け — APIアクセス
このページの機能はすべてAPIからも利用できます。自社システムに組み込みたいチーム向けのセクションです。それ以外の方は上のツールをそのままお使いください。
エンドポイント
Bearerトークンで認証し、POST1回でタスクをキューに登録します。結果はWebhookまたは署名付きリンクで受け取れます。
お使いのスタックから呼び出す
curl -X POST https://api.kit.forhosting.com/numth/lucas-prime \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"n":5}'const res = await fetch("https://api.kit.forhosting.com/numth/lucas-prime", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"n": 5
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/numth/lucas-prime",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"n": 5
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/numth/lucas-prime", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"n":5}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"n":5}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/numth/lucas-prime", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)リクエスト例
{
"n": 5
}レスポンス例
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "numth.lucas_prime",
"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 | リクエストが多すぎます。しばらく待ってから再度お試しください。 |
技術的な注記
本チェッカーは非負の整数インデックス n を1つ受け取り、厳密な BigInt 演算で L(n) を求め、決定的な試し割りで素数判定し、値・桁数・明確な is_prime フラグを返します。同じ純粋アルゴリズムがブラウザ無料版と API の両方で動くため、宿題の確認と自動化で結果が食い違うことはありません。負のインデックスは計算前に invalid_input で拒否されます。
リュカ数とは何か、L(n) が素数になり得る条件
本機能はそうした深い整除定理を前提にせず、常に L(n) を厳密に構成して値を判定するため、n=0 や n=1 のような端でも答えは正しく、返す lucas は漸化式を手で展開したときに生徒が書く数そのものです。
入力契約、応答フィールド、エラーの扱い
負の n は明示的に禁止され、本チェッカーは負のインデックスのリュカ数を定義しないため、メッセージは n が非負でなければならないと述べます。例:n が −3 なら非負要件で失敗し、課金されません。許容上限内に n を保てば、最大インデックスでも L(n) の試し割りは対話的に保てます。必須フィールド n を1つ持つ JSON 本体を送ってください。0 から 200 までの整数で、JSON 数または先頭に任意のプラス符号を付けた十進数字列として受け付けます。小数、真偽値、空文字、科学記数法、範囲外の値は、リュカ演算の前に invalid_input で拒否されます。成功時は n をエコーし、L(n) が安全整数に収まるときは lucas を JSON 数、そうでなければ十進文字列として返し、絶対値の十進桁数を lucas_digits に報告し、BigInt 上の6刻み試し割りで is_prime を設定します。例:n が 5 なら lucas 11、lucas_digits 2、is_prime true。例:n が 1 なら lucas 1、is_prime false。
リュカ素数チェッカーが実際の業務に合う場面
研究ノートやコンテスト基盤は、大きなリュカ素数の重い探索の前に手早い健全性確認が必要なことがあり、n を数百まで本エンドポイントで回せば、計算機代数系を立てずに小表の基準線を確認できます。n を文書化された上限内の非負整数に保ち、invalid_input は再試行ではなくクライアント修正として扱い、監査が必要なら lucas と is_prime の両方を保存すれば、LMS プラグイン・ノート・エッジワーカー向けに再現可能なリュカ素数判定を、API 経路では透明な $0.002 で得られます。
連携の活用例
宿題・コンテストの検証
生徒のリュカ数リストと各 L(n) が素数かを確認し、採点用に is_prime フラグの横に正確な値を示します。
技術的な質問
どの入力が受け付けられますか?
0 から 200 までの整数 n です。負の n、小数、真偽値、非数値文字列は invalid_input を返します。
応答には何が含まれますか?
n、lucas(L(n) の数または十進文字列)、lucas_digits、is_prime(L(n) が素数のときだけ true)です。
リュカ素数チェッカーの料金は?
ブラウザツールは無料です。API リクエストは成功呼び出しごとに前払い KIT 残高から $0.002 を使い、無効入力は課金されません。