分配法則計算機
分配法則計算機は、和に掛けられた因数を括弧内の各項へ分配し、それぞれの積を表示します。3x(2x - 5 + y) のような式を入力すると、項ごとの積と読みやすい展開式が得られます。小数や分数を含む係数は厳密に計算され、同じ変数の累乗は自動的にまとめられます。代数の課題確認、解説例の作成、教育アプリへの信頼できる記号展開の組み込みに適しており、汎用の数式処理システムを用意する必要はありません。
無料で実行
式の入力方法
1つの因数と、括弧で囲んだ和を並べて入力してください。因数は 3x(2x - 5 + y) のように括弧の前にも、(a + 4b) * -2x のように括弧の後にも置けます。括弧との境界にある乗算記号は省略可能です。単項式には、整数・小数・分数の係数、変数名、乗算記号、0以上の整数指数を使用できます。たとえば 1/2x^2 は有効な因数です。括弧内には、プラス記号またはマイナス記号で区切られた2項以上の和が必要です。この計算機は、分配法則を1回適用する処理に対象を絞っています。そのため、入れ子の括弧、関数、変数による除算は曖昧に解釈せず、入力エラーとしてお知らせします。明確な入力規則により、教材、演習の自動採点、式の検証に適した一貫性のある結果を返せます。括弧が複数階層ある式では、外側または内側から1階層ずつ展開し、次の階層が対応する形になった時点で結果を再入力してください。
各項に対して行われる計算
はじめに、括弧の外側の因数と、括弧内にある符号付きの各項を分離します。次に、分配法則 a(b + c) = ab + ac に従い、外側の因数を各項へ個別に掛けます。数値係数は浮動小数点の近似値ではなく、約分済みの有理数として計算します。そのため、0.25 のような小数と 1/4 のような分数を一貫して扱い、6/8 のような結果は 3/4 に約分されます。同じ変数が外側の因数と内側の項の両方に現れる場合は指数を加算し、x^2 と x^3 の積を x^5 とします。変数は常に一定の順序で出力されるため、複数回の結果も比較しやすくなります。応答には、正規化した因数と内側の各項、計算した積、項数、最終的な展開式が含まれます。分配後の同類項はまとめません。入力の各項に対応する積を1つずつ残すことで、どのように分配したかを確認しやすくし、計算過程の透明性を保っています。
結果を安心して活用するために
展開式は、答えだけを返すブラックボックスではなく、確認済みの途中式としてご利用ください。学習者は積の一覧を手計算と照合し、符号や係数の見落としをすぐに特定できます。指導者は、計算精度が変わらない統一された例題や解答を作成できます。ソフトウェアでは、表示用の数式を再解析せず、構造化された各フィールドを直接利用できます。この実装は決定的であり、同じ有効な入力には常に同じ値を返します。ネットワーク通信、乱数、時刻に依存する処理はありません。また、式の長さ、項数、指数に実用的な上限を設け、不正な入力によって処理量が際限なく増えないようにしています。ブラウザー版と API は同じ純粋な計算処理を使用するため、画面で確認した式を自動化しても同じ代数規則が適用されます。ブラウザーでは無料で利用でき、API は1リクエスト $0.002 です。検証に失敗した場合は、式の不足、未対応の構文、括弧構造の誤り、上限超過のどれに該当するかをエラーで確認できます。
活用例
代数の課題を確認
積を手計算と照合し、次の整理へ進む前に符号や係数の見落としを発見できます。
解説付きの例題を作成
授業、演習プリント、個別指導、解答集に使える安定した厳密な展開式を作れます。
記号入力を検証
教育アプリに処理範囲の明確な分配ステップを追加し、表示文字列ではなく構造化された積を利用できます。
よくある質問
どのような式を展開できますか?
1つの単項式の因数と、2つ以上の単項式からなる括弧付きの和の積を展開できます。
負の項にも対応していますか?
はい。外側の因数と和の各項について符号を保持し、正しく掛け合わせます。
分数や小数も計算できますか?
はい。厳密な約分済み有理数係数に変換するため、浮動小数点の丸め誤差を避けられます。
同類項もまとめられますか?
いいえ。分配過程を確認できるよう元の各項に対応する積を返します。同類項の整理は別の操作です。
API の料金はいくらですか?
API は1リクエスト $0.002 です。ブラウザーでは無料で計算できます。
開発者向け — APIアクセス
このページの機能はすべてAPIからも利用できます。自社システムに組み込みたいチーム向けのセクションです。それ以外の方は上のツールをそのままお使いください。
エンドポイント
Bearerトークンで認証し、POST1回でタスクをキューに登録します。結果はWebhookまたは署名付きリンクで受け取れます。
お使いのスタックから呼び出す
curl -X POST https://api.kit.forhosting.com/algebra/distribute-expression \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"expression":"3x(2x - 5 + y)"}'const res = await fetch("https://api.kit.forhosting.com/algebra/distribute-expression", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"expression": "3x(2x - 5 + y)"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/algebra/distribute-expression",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"expression": "3x(2x - 5 + y)"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/algebra/distribute-expression", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"expression":"3x(2x - 5 + y)"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"expression":"3x(2x - 5 + y)"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/algebra/distribute-expression", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)リクエスト例
{
"expression": "3x(2x - 5 + y)"
}レスポンス例
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "algebra.distribute_expression",
"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 | リクエストが多すぎます。しばらく待ってから再度お試しください。 |