筆算のかけ算計算機
2つの整数を学校で習う筆算のやり方でかけ、すべての部分積を表示します。123×45なら部分積は615と4920で、合計は5535です。256桁までの数でも正確です。ブラウザで無料で使えます。
- 無料
- ブラウザで動作
- 登録不要
- データは端末の外に出ません
無料で実行
計算例
- 被乗数
- 123
- 乗数
- 45
- 積
- 5535
- 部分積の個数
- 2
筆算のかけ算は、どの算術の授業でも教える縦の計算法です。二つの整数を書き、上の数を下の数の各桁で右から左へ掛け、各部分積を一つ左へずらし、それらの行を加えて積を得ます。本計算機は被乗数と乗数を十進文字列として受け取るため、言語の整数型をはるかに超えるオペランドでも扱えます。教科書どおりの走査を行い、積とすべての部分積を文字列で返します。
筆算のかけ算とは何か、部分積はどう働くか
筆算のかけ算は、二つの非負の整数の積を十進の位ごとに求める書き算法です。被乗数を乗数の上に書き、一の位・十の位・百の位と上位の位を揃えます。乗数の一の位から始め、被乗数全体をその一桁で掛け、一桁の九九と同じように十を次の列へ繰り上げます。
その行が部分積です。 次に乗数を一桁左へ進め、再び被乗数を掛け、新しい部分積をさらに一桁左へずらして書きます。その桁は十倍の価値があるからです。乗数の以降の各桁は、行をさらに一桁ずらします。
乗数のすべての桁が行を出したあと、部分積を列ごとに加え、列の和が十以上なら繰り上げます。その和が元の数の積です。乗数のゼロの桁はゼロの行を出します。
後の行の位が正しく残るよう、それも記録します。手順は決定的で、十進文字列の長さを問いません。小学校の教科書に載る手続きと同じです。
本計算機はその走査を言語ネイティブの整数ではなく桁文字に対して行うため、数十桁や数百桁の数も二桁の教室例と同じ扱いになります。応答は各部分積を、それを生んだ乗数の桁と位 — 十の冪 — とともに列挙します。最終答だけを比べるのではなく、学習者の表を列ごとに確かめるときに役立ちます。
筆算のかけ算が役立つ場面
教室や指導プラットフォームは、学習者が手書きの縦計算を検算できるよう筆算のかけ算計算機を使います。教員が繰り上がりとずらした行を一つずつ手でやり直す必要はありません。試験生成器と学習管理システムには、負または非整数のオペランドを無効と印し、壊れた採点器が成功とみなしうる小数の丸めや符号の欠落を黙って行わない決定的なオラクルが必要です。
請求行の合計、梱包数、通し番号の集計など、すでに十進文字列で量を持つ会計・在庫スクリプトは、十五桁を超えて丸める浮動小数点型を経由せずに掛けられます。検証失敗は残高を消費しません。各オペランドを公開の桁上限内に保ち、返却する積の文字列と部分積の配列をテストに固定すれば、宿題、LMS プラグイン、エッジワーカー向けに再現可能な厳密なかけ算が得られます。
計算機代数系や独自の多倍長整数ライブラリを立てる必要はありません。
活用例
教室と宿題の検算
学習者に被乗数と乗数を送らせ、紙の算法どおりの正確な積と、ずらしたすべての部分積を確かめさせます。
スクリプトでの厳密な文字列演算
安全整数限界を超えうる在庫数や請求数量など、十進文字列の値を浮動小数の丸めなしで掛けます。
よくある質問
入力が負、または整数でない場合はどうなりますか?
本計算機は非負整数のみを扱うため、マイナス記号、小数点、数字以外の文字は拒まれ、失敗した呼び出しは課金されません。
数はどこまで大きくできますか?
各オペランドは最大 256 の十進桁です。言語の安全整数限界を超えても桁が厳密であるよう、値は文字列で送ってください。先頭ゼロは乗算の前に除かれます。
部分積とは何ですか?
かけられる数全体に、かける数の1つの数字を掛け、その数字の位の分だけ左にずらしたものです。すべての部分積を位ごとに足すと答えになり、確認できるよう各行が表示されます。
なぜ各行を1桁ずつ左にずらすのですか?
かける数の数字は、左に1つ進むごとに10倍の重みになるからです。1桁左にずらすのは10を掛けるのと同じで、492が4920になるのはそのためです。
かける数に0の数字があるとどうなりますか?
その数字からは0だけの行ができます。それでも記録されるので、後の行の位がずれず、最後の位ごとの足し算もきちんとそろいます。
関連ツール
開発者向け — APIアクセス
このページの機能はすべてAPIからも利用できます。自社システムに組み込みたいチーム向けのセクションです。それ以外の方は上のツールをそのままお使いください。
エンドポイント
Bearerトークンで認証し、POST1回でタスクをキューに登録します。結果はWebhookまたは署名付きリンクで受け取れます。
お使いのスタックから呼び出す
curl -X POST https://api.kit.forhosting.com/math/long-multiplication \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"multiplicand":"123","multiplier":"45"}'const res = await fetch("https://api.kit.forhosting.com/math/long-multiplication", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"multiplicand": "123",
"multiplier": "45"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/math/long-multiplication",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"multiplicand": "123",
"multiplier": "45"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/math/long-multiplication", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"multiplicand":"123","multiplier":"45"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"multiplicand":"123","multiplier":"45"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/math/long-multiplication", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)リクエスト例
{
"multiplicand": "123",
"multiplier": "45"
}レスポンス例
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "math.long_multiplication",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}非同期APIです。task_idは即時に返ります。ポーリングは1秒あたり1リクエストまでです。
料金
単価はすべて公開しています。トークン換算や独自クレジットはありません。失敗したタスクは課金されません。
制限
max_digits | 256 |
エラー
| HTTP | コード | 意味 |
|---|---|---|
401 | unauthorized | APIキーが無効か、指定されていません。Authorizationヘッダーを確認してください。 |
402 | insufficient_balance | 残高が不足しています。チャージ後に再度お試しください。 |
404 | unknown_type | 指定されたタスクタイプは存在しません。タイプ名を確認してください。 |
429 | rate_limited | リクエストが多すぎます。しばらく待ってから再度お試しください。 |
技術的な注記
先頭のゼロは除きます。 いずれかの入力が非負整数でなければ、丸めたり結果を作ったりせず invalid_input で失敗します。
入力契約、桁の走査、エラーの振る舞い
先頭ゼロは許され、その後取り除かれるため、七と〇〇七は同じ数として比較されます。両方のオペランドを正規化したあと、エンジンは乗数を一の位から最高位まで歩きます。各桁について被乗数をその桁で掛け、現在の位の数だけゼロを付け、その行を部分積として蓄え、累計に加えます。ゼロの桁でもゼロの部分積を出すため、配列の長さは常に正規化した乗数の桁数と一致します。例:百二十三かける四十五は、unshifted が六百十五と四百九十二、部分積が六百十五と四千九百二十、積が五千五百三十五になります。必須フィールドが二つの JSON 本体を POST してください。multiplicand は掛けられる非負整数、multiplier は掛ける非負整数です。各フィールドは十進数字の文字列です。便宜上、JSON の整数と数値文字列も受け付けますが、五十三ビットの安全整数限界を超えて厳密であるべき値は、必ず文字列で送ってください。欠落フィールド、空文字、マイナス記号、小数点、千の位区切り、文字、二百五十六桁を超える文字列は、フィールド名付きの invalid_input で失敗し、課金されません。成功時の本体は multiplicand、multiplier、product、partial_count、partial_products を返し、各要素は digit、place、unshifted(位シフト前の積)、partial(実際に加算される加数)を持ちます。
筆算かけ算 API が役立つ場面
実装は純粋なパースのティア A のため、成功した各呼び出しは公開の基本料金 $0.002 で、モデルトークンも外向き通信もありません。
連携の活用例
試験と LMS の自動採点
負または非整数のオペランドを invalid_input で拒み、小数を黙って丸めない決定的なオラクルで、筆算かけ算の設問を採点します。
技術的な質問
この筆算のかけ算計算機で二つの整数を掛けるには?
被乗数と乗数を十進数字の文字列として送ってください。API は上の数を下の数の各桁で一の位から掛け、各部分積をずらし、行を加え、先頭ゼロを除いた文字列として積を返します。
計算機は各桁の部分積を示しますか?
はい。応答には partial_products があり、乗数の桁ごとに digit、位(一の位は 0、十の位は 1、以下同様)、ずらす前の行、加算されるずらした部分積が入ります。partial_count はその配列の長さです。
筆算のかけ算計算機の料金は?
ブラウザの用具は無料です。API 要求は成功した呼び出しごとに KIT の前払い残高を $0.002 で使います。無効な入力は課金されません。