線を引く掛け算とは?
線を引く掛け算(いわゆるインド式の線の方法)は、斜めに交差する2組の線を引き、その交わった点の数を数えることで整数の掛け算を行う、目で見てわかる計算法です。1つ目の数の各位を一方向の平行線の束に、2つ目の数の各位を交差方向の束に置き換えます。斜めの列ごとに交点を数えると、答えの各位の数字が現れます。本ツールは正確な積をその場で算出するだけでなく、交点の個数も位ごとに分解して表示するので、自分で図を描いて確かめることもできます。
使い方
1つ目の数(計算したい数)と2つ目の数を入力し、「答え」欄をご覧ください。2桁どうしの場合は、表に3つの交点グループ——百の位(左の交わり)、十の位(中央の交わり)、一の位(右の交わり)——が表示されます。これはまさに、線を引いて右から左へ繰り上がりを処理する前に数える交点の数と同じです。
計算式の解説
積はごく普通の掛け算です。積 = 被乗数 × 乗数。線の方法は、この部分積を図形的に整理しているにすぎません。\(a = 10a_1 + a_0\)、\(b = 10b_1 + b_0\) と書くと、一の位の列は \(a_0 \cdot b_0\) を、中央の列は \(a_1 \cdot b_0 + a_0 \cdot b_1\) を、左の列は \(a_1 \cdot b_1\) を数えています。各列を右から左へ処理し、10以上は次の列へ繰り上げ、出てきた数字をつなげれば答えになります。
$$\text{First} \times \text{Second} = 100\,(a_1 b_1) + 10\,(a_1 b_0 + a_0 b_1) + (a_0 b_0)$$$$\begin{gathered} \text{First} \times \text{Second} = 100\,(a_1 b_1) + 10\,(a_1 b_0 + a_0 b_1) + (a_0 b_0) \\[1.5em] \text{where}\quad \left\{ \begin{aligned} a_1, a_0 &= \text{tens, units digits of } \text{First} \\ b_1, b_0 &= \text{tens, units digits of } \text{Second} \end{aligned} \right. \end{gathered}$$計算例
\(12 \times 23\) を考えます。ここで \(a_1 = 1\)、\(a_0 = 2\)、\(b_1 = 2\)、\(b_0 = 3\) です。一の位 = \(2 \cdot 3 = 6\)(数字は6、繰り上がりなし)。十の位 = \(1 \cdot 3 + 2 \cdot 2 = 7\)(数字は7)。百の位 = \(1 \cdot 2 = 2\)。\(2 \mid 7 \mid 6\) と読むと 276 となり、\(12 \times 23 = 276\) と一致します。
よくある質問
どんな数でも使えますか? 積はどんな整数でも正しく計算されます。線を引いて数える方法は、小さい正の多桁整数で最も自然です。繰り上がりが大きくなっても、普通の足し算のように各列を処理するだけです。
数字に0が含まれる場合は? ある位の数字が0なら、その束には線が0本、つまりそのグループには交点が生じません。これは自動的に処理されます。
負の数の場合は? 符号の通常ルールで正しい積が得られますが、線を引く図そのものは0以上の整数でしか意味を持ちません。図を描くときは絶対値を使ってください。