連続する整数の計算ツール
目標の合計と個数を入れると、その合計になる連続した整数の並びが分かります。合計15になる3つの数は 4, 5, 6 です。推測ではなく公式で正確に求め、ブラウザで無料で使えます。
- 無料
- ブラウザで動作
- 登録不要
- データは端末の外に出ません
無料で実行
計算例
- 対象
- 15
- 数量
- 3
- 最初の項
- 4
- 最後
- 6
- 整数
- 4, 5, 6
合計の目標値と個数を指定すると、この計算ツールはその合計になる連続する整数の並びを正確に求めます。存在しない場合は、その旨をはっきりとお知らせします。合計15になる3つの数を求めれば4、5、6が得られ、合計8になる3つの数を求めれば、正直な「できません」が返ります。答えは試行錯誤ではなく閉じた公式で計算されるため、負の目標値やゼロをまたぐ並びを含め、どんな整数でも即座に正確です。
連続する整数の並びとは
連続する整数の並びとは、各数が前の数よりちょうど1だけ大きい数列のことで、4、5、6や−2、−1、0、1、2などが例です。このツールが答える問いは初等整数論の古典です。目標値Tと個数nが与えられたとき、合計がちょうどTになる連続するn個の整数の並びは存在するのか、存在するならどこから始まるのか、という問題です。
重要なのは、そのような並びは初項aだけで完全に決まるという点です。並びはa、a+1、…、a+(n−1)で、その合計はn·aに三角数n(n−1)/2を加えたものです。したがって問題は一次方程式a = (T − n(n−1)/2) / nを解くことに帰着します。
この値が整数なら並びは存在し、リストとして返されます。分数なら、その長さの並びでは目標値に届かないため、ツールは誤解を招く四捨五入ではなく、その旨を正直に返します。
ソルバーの判定方法
ソルバーは反復も近似も行いません。剰余T − n(n−1)/2を計算し、nで割り切れるかを確認します。判定はこの整除性だけです。
割り切れれば初項は整数で並びは実在し、余りがゼロでなければその個数では目標値に到達できない、というだけのことです。入力の検証が最初に行われます。個数は正の整数、目標値は整数である必要があり、それ以外は計算の前に無効な入力として拒否されます。
利用場面と料金
パズル、証明問題、スケジューリングの課題で、合計を等しい連続するステップに分割できるかと問われたときにご利用ください。教師の方は解答付きの例題生成に、開発者の方は分割ロジックの検証に、パズル愛好家の方は議論の即決にお使いいただけます。このツールが実感させてくれる便利な事実があります。
目標値が連続する正の整数の並びで書けるのは、それが2のべき乗でない場合に限る、という定理です。ここで個数を変えて試すことは、その定理の直感を養う手軽な方法です。ここで試した結果が、自動化したときにお支払いいただく対象そのものです。
活用例
パズルを即座に決着
100が連続する5つの整数で書けるか(書けます: 18–22)、4つではどうか(書けません)を、試行錯誤なしで確認できます。
教材用の例題を生成
算数・代数の授業用に、解答の分かっている連続和の問題を作成できます。
分割ロジックの検証
合計を連続するスロット、ID、時間ステップに分割するコードを、厳密なソルバーと照合できます。
よくある質問
料金はいくらですか?
同じソルバーはこのページのブラウザ上で無料で動作し、エラー応答に課金されることはありません。
負の整数やゼロをまたぐ並びは可能ですか?
可能です。 初項は厳密に計算されるため、−2、−1、0、1、2のような並びも、目標値と個数を満たせば返されます。
有効な入力とは?
目標値は整数、個数は正の整数(1以上)である必要があります。分数、ゼロ、負の個数、数値でない値などは、明確なエラーで拒否されます。
答えはどう計算されますか?
閉じた公式a = (T − n(n−1)/2) / nで計算します。aが整数なら並びa…a+n−1を返し、そうでなければ解は存在しません。ループも乱数もなく、完全に決定的です。
連続する整数の並びが存在しないのはどんな場合ですか?
目標値から n(n−1)/2 を引いた値が個数で割り切れない場合です。たとえば合計が8になる連続した3つの整数はなく、四捨五入せずにその旨をはっきり表示します。
関連ツール
開発者向け — APIアクセス
このページの機能はすべてAPIからも利用できます。自社システムに組み込みたいチーム向けのセクションです。それ以外の方は上のツールをそのままお使いください。
エンドポイント
Bearerトークンで認証し、POST1回でタスクをキューに登録します。結果はWebhookまたは署名付きリンクで受け取れます。
お使いのスタックから呼び出す
curl -X POST https://api.kit.forhosting.com/math/consecutive-integers \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"target":15,"count":3}'const res = await fetch("https://api.kit.forhosting.com/math/consecutive-integers", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"target": 15,
"count": 3
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/math/consecutive-integers",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"target": 15,
"count": 3
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/math/consecutive-integers", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"target":15,"count":3}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"target":15,"count":3}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/math/consecutive-integers", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)リクエスト例
{
"target": 15,
"count": 3
}レスポンス例
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "math.consecutive_integers",
"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 | リクエストが多すぎます。しばらく待ってから再度お試しください。 |
技術的な注記
このページではブラウザ上で無料で動作し、同じコードがAPI呼び出しにも1回$0.002で応答します。
ソルバーの判定方法
確認は厳密な整数演算で行われるため、負の目標値でも成り立ちます(T = −12、n = 4では、−4 − 3 − 2 − 1がすでに−10なので、ツールは並びが存在しないと正しく報告します)。また、−2、−1、0、1、2のようにゼロをまたぎ、n = 5で合計0になる並びにも対応します。無効なリクエストは結果ではなくエラーであり、課金されることはありません。
利用場面と料金
この計算ツールは、このページ上でAPIとまったく同じコードで無料で動作します。APIの利用料金は1リクエスト$0.002で最低料金はなく、無効な個数や不可能な目標値などのエラー応答は常に無料です。
技術的な質問
並びが存在しない場合は?
その個数の並びでは目標値に到達できないことを説明するinvalid_inputエラーを返します。答えを無理に作るための四捨五入や近似は行いません。