六角数計算機
5番目の六角数は45です。番号を入れると六角数を桁を落とさず正確に求め、整数を入れると六角数かどうかと何番目かが分かります。ブラウザで無料で使えます。
- 無料
- ブラウザで動作
- 登録不要
- データは端末の外に出ません
無料で実行
計算例
- N
- 5
- 値
- 45
六角数は、正六角形に並んだ点を数える図形数の列です。n が 1 のとき中心に 1 点、その後は六角の環が順に増えます。閉じた式は H(n)=n(2n−1) で、列は n が 0 のとき 0、続いて 1、6、15、28、45、66… と続きます。すべての六角数は三角数でもあり、特に添字 2n−1 の三角数です。そのため格子充填、娯楽数学、図形数列に関する競技プログラミングの問題に現れます。本計算機は非負の添字 n を受け取り、六角数の厳密値を十進文字列で返すか、任意の非負整数を受け取り、それが六角数かどうかと一致する添字を報告します。負の添字は誤った結果を黙って返すのではなく、明確な検証エラーで拒否します。
第 n 六角数の定義と判定方法
六角数列はコンパクトな積 H(n)=n(2n−1) を用います。展開すると二次式 2n²−n となり、単位点で組んだ六角形の離散面積です。同じ数は一つおきの三角数として現れ、H(n)=T(2n−1) なので、六角所属は三角数列へのより厳しいフィルタです。
同値に、1+8x が完全平方 s² であり、かつ 1+s が 4 で割り切れなければなりません。本実装は浮動小数の平方根や丸めを使いません。H(n) は BigInt 乗算で計算し、所属は厳密な整数平方根と剰余検査で判定するため、大きな結果の各桁も正しく保たれます。
経路は完全に決定的で、乱数シード・時計・ネットワーク・モデルの揺らぎはなく、同じ n は常に同じ文字列を、同じ値は常に同じ可否の所属判定を返します。
実務で六角数が現れる場面
プログラミングコンテストやオリンピック訓練では、第 n 六角数・部分和・近似ではなく厳密な図形数に依存する性質が頻繁に求められます。信頼できる BigInt オラクルは固定データ作成と教員の採点を速めます。離散数学や組合せ論の教育者は、スライドと解答キーに古典的な列が必要です。
中心六角格子、蜂の巣、多角形数の階層はいずれも H(n) を共有し、単一の計算機ランディングがそれらの解釈でデモを誠実に保ちます。Project Euler 型の問題や娯楽数学のパズルは、しばしば三角・五角・六角のフィルタを組み合わせます。厳密な所属判定は、学習者が逆平方根の判定を自分で実装するときのオフバイワンを防ぎます。
六角の環に点を並べるデータ構造・グラフィックスのデモは、描画前に環のサイズを H(n) と照合できます。製品デモや面接準備では短い多角形表を示すことが多く、1 回の呼び出しで H(n) を計算したり候補を判定したりすると、対話デモが教科書と揃います。
のちに五角数、中心六角数、六角錐体積、暗号級添字の合同な図形値が必要なら、この六角計算機ランディングを過負荷にせず、別の検索意図として扱ってください。
活用例
コンテストと宿題の固定データ
オリンピック問題、プログラミング演習、浮動小数ドリフトを拒否する自動解答キー向けに、厳密な H(n) 十進文字列と所属判定を生成します。
図形数の指導
大きな項も正確に保つよう六角数列を厳密な文字列で示し、H(1)=1 から H(5)=45 が教科書の表や格子図と一致することを確認します。
パイプラインでの多角形フィルタ
バッチスクリプトや Project Euler 型ソルバで三角・五角・六角の制約を組み合わせる際に、候補整数が六角数かを判定します。
よくある質問
この六角計算機はどの式を使いますか?
H(n)=n(2n−1) を厳密な BigInt 乗算で計算します。所属は逆写像 n=(1+√(1+8x))/4 が非負整数であること(整数平方根、浮動小数なし)で判定します。
なぜ value は数値ではなく文字列ですか?
六角数は O(n²) で増え、やがて JavaScript の安全整数を超えます。十進文字列は大きな n と大きな判定でも各桁を厳密に保ちます。
n が負のときはどうなりますか?
六角の添字は n ≥ 0 で定義され、負の添字は受け付けません。
H(0) は許されますか?
はい。 積の式では H(0) は 0 です。拒否されるのは負の n だけです。所属判定も 0 を添字 0 の六角数として扱います。
ある数が六角数かどうかはどう確かめますか?
判定したい整数を入力すると、六角数かどうかと、そうであれば何番目かが分かります。たとえば45は5番目です。8倍して1を足した値が平方数で、その平方根に1を足すと4で割り切れることが条件です。
関連ツール
開発者向け — APIアクセス
このページの機能はすべてAPIからも利用できます。自社システムに組み込みたいチーム向けのセクションです。それ以外の方は上のツールをそのままお使いください。
エンドポイント
Bearerトークンで認証し、POST1回でタスクをキューに登録します。結果はWebhookまたは署名付きリンクで受け取れます。
お使いのスタックから呼び出す
curl -X POST https://api.kit.forhosting.com/math/hexagonal-number \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"n":5}'const res = await fetch("https://api.kit.forhosting.com/math/hexagonal-number", {
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/math/hexagonal-number",
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/math/hexagonal-number", 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/math/hexagonal-number", 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": "math.hexagonal_number",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}非同期APIです。task_idは即時に返ります。ポーリングは1秒あたり1リクエストまでです。
料金
単価はすべて公開しています。トークン換算や独自クレジットはありません。失敗したタスクは課金されません。
制限
min_n | 0 |
max_n | 10000000 |
エラー
| HTTP | コード | 意味 |
|---|---|---|
401 | unauthorized | APIキーが無効か、指定されていません。Authorizationヘッダーを確認してください。 |
402 | insufficient_balance | 残高が不足しています。チャージ後に再度お試しください。 |
404 | unknown_type | 指定されたタスクタイプは存在しません。タイプ名を確認してください。 |
429 | rate_limited | リクエストが多すぎます。しばらく待ってから再度お試しください。 |
技術的な注記
無料のブラウザツールと有料 API は同じ純粋関数を共有するため、授業デモと自動パイプラインが同じ n や同じ所属判定で黙って食い違うことはありません。
第 n 六角数の定義と判定方法
n を 0 から始めると H(0)=0、n=1 で 1、n=2 で 6、n=3 で 15、n=4 で 28、n=5 で 45 です。候補 x が六角数かを列全体を走査せずに決めるには、二次方程式 2n²−n−x=0 を解き、正の根 n=(1+√(1+8x))/4 が非負整数であることを要求します。値を十進文字列で返すことで、項が JavaScript の安全整数範囲を超えても JSON 利用側が桁を失いません。上限により n は 0 から一千万の間に保たれ、最悪時の遅延も無料ブラウザツールと軽量 Worker 経路に適したままです。
送信する内容と返される結果
n と value の少なくとも一方が必須で、両方を一度の呼び出しで送っても構いません。負の n のエラーは、六角数が n が 0 以上で定義されることを述べ、フォームクライアントやスクリプトが推測せずに入力を直せます。計算が成功すると、正規化された n、十進の厳密な H(n) としての value、および n に 2n マイナス 1 を掛ける式文字列 formula が返ります。宿題や素早い健全性確認には無料ブラウザツールを、浮動小数の損失なしに六角の固定データ大量生成や厳密な所属判定が必要なら同一契約をスクリプトから呼び出してください。検証失敗は前払い残高を消費しません。第 n 六角数を計算するには、フィールド n(別名 index)に非負整数を渡します。その整数が六角数かを調べるには、フィールド value(別名 check または number)に非負整数を渡します。欠落フィールド、非整数、小数、負の n は invalid_input で拒否され、課金されません。判定が成功すると check_value、真偽の is_hexagonal、入力の十進形 value、真のときは一致する添字の n と hexagonal_index も返ります。例: n=5 は value 45、n=1 は 1、n=2 は 6、value 45 は is_hexagonal true で添字 5、value 10 は is_hexagonal false、n=−1 は負数に言及する invalid_input。契約は単体テスト、授業デモ、バッチパイプライン向けの安定した JSON です。成功した API 呼び出しの料金は公開の基準額 $0.002 です。
実務で六角数が現れる場面
本能力は純粋な parse エンジンなので、API 料金は成功 1 件あたり公開基準 $0.002 で、検証失敗は残高を消費しません。
技術的な質問
料金はいくらですか?
ブラウザツールは無料でローカル実行です。API は成功 1 件あたり $0.002 の前払い KIT 残高を使い、無効な入力は課金されません。