引き算計算
計算結果
差
- 繰り下がりの回数
- 1, 1, 1, 0
長い引き算の計算ツールです。整数を、学校で習う筆算のとおりに1桁ずつ引いていき、各段で左へ移る繰り下がりも印字します。途中式が見えるのが要点で、差だけを返すのではなく、位ごとに書いた桁と、列ごとに1つずつ並んだ繰り下がりの連鎖が返ります。既定では1,234から567を引いて667になり、下の桁が引けない列ごとに繰り下がりが起こります。受け付けるのは整数だけで、2つの数は逆でもかまいません。その場合も計算は大きいほうから小さいほうを引く形で進みます。
1,234 − 567を1列ずつ解く
| 列 | 桁 | 受け取る繰り下がり | 素の差 | 書く桁 | 渡す繰り下がり |
|---|---|---|---|---|---|
| 0 | 4 - 7 | 0 | -3 | 7 | 1 |
| 1 | 3 - 6 | 1 | -4 | 6 | 1 |
| 2 | 2 - 5 | 1 | -4 | 6 | 1 |
| 3 | 1 - 0 | 1 | 0 | 0 | 0 |
1列につき1行で、1の位から上へ読んでいきます。作業が実際に進む向きです。桁の列は何から何を引くかを示し、計算は常に大きいほうから小さいほうを引くので、打ち込まれたとおりではなく最終的にどうなったかの2桁が出ます。3 − 5はここでは5 − 3として現れます。素の差は、左から繰り下がりを受け取る前のその列自身の引き算なので、負にもなり得ます。渡す繰り下がりはそのときにちょうど1で、書く桁はその素の差に10を足したものです。いちばん上の行が受け取る繰り下がりは0です。その右に何も無いからです。いちばん下の行が渡す繰り下がりも0です。その左に何も無いからです。列の番号は整数で桁の並びは表記なので、この表はサイトが扱う10言語すべてで同じものになります。
公式
第k列:素の差 = 被減数の桁 − 受け取る繰り下がり − 減数の桁 / 渡す繰り下がり = 素の差が0より小さければ1、そうでなければ0 / 書く桁 = 素の差 + 10 × 渡す繰り下がり
- 被減数
- 引かれるほうの数で、1兆以下の整数です。途中式のいちばん上の行に座り、どの列もその桁と突き合わせて読まれます。桁が残っていない列も含めてで、そこは0として数えます。
- 減数
- 引くほうの数で、下に書いて1の位でそろえます。こちらのほうが大きいこともあり、そのときは計算を逆にして行い、差に負号を付けます。
- 第k列
- 右から数えてk番目の位で、1の位を0番目とします。ある列はその右の列が決まってからでないと決まりません。繰り下がりが左へ旅するからで、だから1の位がその上のすべてを決めるのです。
- 繰り下がり
- 上の桁が下の桁より小さいときに、左隣の列から借りてくる1です。受け取った列では10の価値があり、4 − 7は14 − 7になります。貸した列は1だけ小さくなります。
- 差
- 答えであり、繰り下がりの連鎖を測る相手でもあります。連鎖は大きいほうの数の列ごとに1項あるので、最後の項は必ず0です。先頭の0は書きません。099は答えの99です。
整数を1つずつ引く過程そのものを見せたいときに使います。答えだけでは足りない場面です。下の桁が引けなくなった列で繰り下がりを教えるとき、手で計算した差を確かめるときなどです。検算は足し算で、差を減数に足し戻すと被減数に戻るはずです。
計算例
1,234 − 567
- 1の位:4 − 7は引けないので、10の位から1を借りて14 − 7 = 7と読む
- 10の位:3はその繰り下がりで1をすでに失っているので、2 − 6も引けない。もう一度借りて12 − 6 = 6と読む
- 100の位:2も1を失ったので、1 − 5は引けない。借りて11 − 5 = 6と読む
- 1,000の位:1が1を失い、0 − 0 = 0が残る
- 書かれる桁は、上の位から順に0, 6, 6, 7
- 差は667で、繰り下がりの連鎖は1, 1, 1, 0
既定の場合で、途中式を書き出す理由が見える例です。借りた列はその上の列を1だけ小さくするので、繰り下がりはその列自身の桁が読まれる前に届きます。最後の項が0なのは、いちばん上の列には借りる相手が上に無いからです。あの0は繰り下がりの連鎖が止まった印で、抜けた手順ではありません。
1,000 − 1、0をまたぐ繰り下がり
- 1の位:0 − 1は引けないので、10の位から借りる
- 10の位は0で貸せないので、まず100の位から借りる
- 100の位も0なので、1,000の位から借りる。1,000の位が1減り、100の位に10が立つ
- その10のうち1つを10の位へ貸すと、100の位は9になり、10の位に10が立つ
- さらに10の位が1つを1の位へ貸し、10の位は9、1の位は10になる
- 1の位:10 − 1 = 9。10の位:9 − 0 = 9。100の位:9 − 0 = 9
- 差は999で、繰り下がりの連鎖は1, 1, 1, 0
連鎖は既定の例と同じ4項です。そこが要点で、繰り下がりは数の幅いっぱいを旅し、答えは9の補数になります。途中の0は貸せる場所ではありません。まず左から借りる必要があり、紙の上では先生が和の上に書く取り消し線の連鎖になります。
3 − 5、答えが負になる場合
- 上の数が下の数より小さいので、引き算は逆にして5 − 3として行う
- 1の位:5 − 3 = 2で、借りるものは無い
- 書かれる桁は2だけ
- 2つの数を入れ替えたので、答えに負号が付く
- 差は−2で、繰り下がりの連鎖は0
計算は常に大きいほうから小さいほうを引くので、下の表の桁の列に負の行は決して現れません。負号は答えの上にだけ住んでいます。それがあるから繰り下がりの連鎖が読めるのです。連鎖は大きいほうの数の列ごとに1項あり、列が逆向きに走れたら長さが決まらなくなります。
適用限界
受け付けるのは整数だけです。小数も位ごとに引けますが、小数点で桁をそろえて0を足す下ごしらえが要り、その時点で1つの列が何を意味するかが変わります。だから小数は黙って整数として扱わずに拒否します。負の数も同じ理由で拒否します。符号は桁ではなく、それ自身の列と規則を持つものだからです。受け取る数はちょうど2つです。3つ以上続けて引くときは、この計算を何回か続けることになります。それぞれの数は1兆までに限っています。桁を1つずつ読むので、それを超えると書いた桁が答えと合わなくなります。2つ目の数のほうが大きいときは答えが負になりますが、途中式に出る桁は大きいほうから小さいほうを引いたものなので、表は打ち込んだままの数からは読めません。
よくある質問
- 長い引き算とは何か
- 数を書かれたとおりに引く手順です。桁を位ごとにそろえ、1の位から左へ進み、上の桁が小さすぎるときは次の列から10を借ります。電卓と同じ答えが出ますが、途中の段階を捨てずに残します。
- 繰り下がりとは何をすることか
- 左隣の列から1つ借りてきて、ここで10として使うことです。4 − 7は引けないので、10を1つ移してきてその列は14 − 7 = 7と読みます。貸した列は1だけ小さくなるので、繰り下がりは1つではなく2つの列に影響します。
- 繰り下がりはまとめ直しと同じものか
- 同じです。まとめ直し、名前の付け替え、両替はどれも同じ動きの別名で、教室がどの言葉を使うかは流行の問題です。繰り下がりは常に左隣の位の1つと、この位の10を交換するので、何かが生まれたり消えたりはしません。
- 繰り下がりの連鎖が0で終わるのはなぜか
- いちばん上の列は決して借りないからです。繰り下がりは下の桁が引けないときにだけ起こり、大きいほうの数のいちばん上の列は小さいほうの数全体より必ず大きいので、連鎖はそこで止まります。最後の0はその停止で、連鎖は実際に見える繰り下がりより1項だけ長くなります。
- 答えを検算するにはどうするのか
- 差を減数に足し戻して、被減数になるか見てください。1,234 − 567 = 667で、667 + 567 = 1,234です。この検算は厳密で、列の足し算1回分の手間しかかかりません。引き算と足し算が符号だけ違う1つの手順として教えられるのはそのためです。
- 大きい数を小さい数から引けるのか
- 引けますし、答えは負で返ります。計算自体は大きいほうから小さいほうを引く形のままです。列ごとの手順はどこかで上の桁のほうが大きいことを必要とするからで、変わるのは差の符号だけです。3 − 5は5 − 3 = 2として計算され、−2として報告されます。
参考文献
- Subtraction — 演算そのものと、差が足し算で確かめられるという事実 — Wolfram MathWorld (United States)
- Base — 桁の価値がどの列に座っているかで決まること。繰り下がりがちょうど10の価値を持つ理由 — Wolfram MathWorld (United States)
- Subtraction with regrouping — 学校で教えられる列ごとの手順と、それが呼ばれるいくつかの名前 — SplashLearn (United States)