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