パズル気分で 古典的掛け算

Excel 未分類

久しぶりの投稿です。

私の多面体製作の道具として Excel は欠かせません。
高機能関数電卓として重宝しています。

普段 当たり前としてやっている計算の作業の仕組みを
視点を変えて見てみたいと 以前から思っていました。

パピルスに書かれた掛け算と ロシア農民の掛け算 を例に
Excel で表現してみました。
Wikipedia の Ancient Egyptian multiplication を参照
https://en.wikipedia.org/wiki/Ancient_Egyptian_multiplication

80 × 14 = 1120 の計算で説明します。
下に表現しているのが パピルスに書かれた掛け算 です。

80 × 14 = 1120 として既に解が求まっている状態です。
80を入力すると その下の列の 数値が 変化し
80 80×2=160 160×2=320 320×2=640 . . . と前の数を2倍しています。
80 に 1 2 4 8 . . . を乗じても同じです。
その横の縦列は 1 2 4 8 16 . . . が固定されています。

そして 次の縦列が表示欄で 1 2 4 8 16 . . .の数列の
各数値を そのままにするか 0 にするかを表示します。
その合計が 掛けられるほうの数値
今回は 14 が表示されています。
次の✔下の縦列が 入力欄で 1 か 0 を入れて 14 になるようにします。
つまり 0.1.1.1 の入力で 0 + 2 + 4 + 8 = 14 になります。

そして この 0.1.1.1 が 0 + 160 + 320 + 640 = 1120 に連動しています。

パピルスに書かれた掛け算
80 × 14 = 1120
80 1 0 0 0
160 2 2 1 160
320 4 4 1 320
640 8 8 1 640
16
14 1120
ロシア農民の掛け算 の説明をします。
80 × 14 = 1120 と表示された下の 
80 から下の列は上の説明と同じです。
14 から下の列は 計算の余りは切り捨てとして
14               →    14 
14 / 2 = 7  + 0  →  ✔ 7
 7 / 2 = 3  + 1  →  ✔ 3
 3 / 2 = 1  + 1  →  ✔ 1    
となり 奇数には ✔ が付いています。

記号 ✔ に対応する同じ行の 80 の倍数の表示と合計を
左端の縦列で行い 1120 を得ています。
ロシア農民の掛け算
80 × 14 = 1120
80 14
160 7 160
320 3 320
640 1 640
1120
色付けした全範囲を指定し 1 行目 A 列に copy and paste してください。
貼り付けのオプションは 貼り付け先の書式に合わせる(M) です。
パピルスに書かれた掛け算
80 × 14 = =E17 =A2*C2
=A2 =2^0 =B4*D4 0 =A4*D4 =(MOD(C22,2))
=A4*2 =2^1 =B5*D5 1 =A5*D5 =(MOD(C23,2))
=A5*2 =2^2 =B6*D6 1 =A6*D6 =(MOD(C24,2))
=A6*2 =2^3 =B7*D7 1 =A7*D7 =(MOD(C25,2))
=A7*2 =2^4 =B8*D8 0 =A8*D8 =(MOD(C26,2))
=A8*2 =2^5 =B9*D9 0 =A9*D9 =(MOD(C27,2))
=A9*2 =2^6 =B10*D10 0 =A10*D10 =(MOD(C28,2))
=A10*2 =2^7 =B11*D11 0 =A11*D11 =(MOD(C29,2))
=A11*2 =2^8 =B12*D12 0 =A12*D12 =(MOD(C30,2))
=A12*2 =2^9 =B13*D13 0 =A13*D13 =(MOD(C31,2))
=A13*2 =2^10 =B14*D14 0 =A14*D14 =(MOD(C32,2))
=A14*2 =2^11 =B15*D15 0 =A15*D15 =(MOD(C33,2))
=A15*2 =2^12 =B16*D16 0 =A16*D16 =(MOD(C34,2))
=SUM(C4:C16) =SUM(E4:E16)
ロシア農民の掛け算
=A2 × =C2 = =E35
=A2 =IF(MOD(C22,2)=0,"","✔") =C2 =IF(B22="✔",A22,"")
=IF(C23=0,"",A22*2) =IF(MOD(C23,2)=0,"","✔") =QUOTIENT(C22,2) =IF(B23="✔",A23,"")
=IF(C24=0,"",A23*2) =IF(MOD(C24,2)=0,"","✔") =QUOTIENT(C23,2) =IF(B24="✔",A24,"")
=IF(C25=0,"",A24*2) =IF(MOD(C25,2)=0,"","✔") =QUOTIENT(C24,2) =IF(B25="✔",A25,"")
=IF(C26=0,"",A25*2) =IF(MOD(C26,2)=0,"","✔") =QUOTIENT(C25,2) =IF(B26="✔",A26,"")
=IF(C27=0,"",A26*2) =IF(MOD(C27,2)=0,"","✔") =QUOTIENT(C26,2) =IF(B27="✔",A27,"")
=IF(C28=0,"",A27*2) =IF(MOD(C28,2)=0,"","✔") =QUOTIENT(C27,2) =IF(B28="✔",A28,"")
=IF(C29=0,"",A28*2) =IF(MOD(C29,2)=0,"","✔") =QUOTIENT(C28,2) =IF(B29="✔",A29,"")
=IF(C30=0,"",A29*2) =IF(MOD(C30,2)=0,"","✔") =QUOTIENT(C29,2) =IF(B30="✔",A30,"")
=IF(C31=0,"",A30*2) =IF(MOD(C31,2)=0,"","✔") =QUOTIENT(C30,2) =IF(B31="✔",A31,"")
=IF(C32=0,"",A31*2) =IF(MOD(C32,2)=0,"","✔") =QUOTIENT(C31,2) =IF(B32="✔",A32,"")
=IF(C33=0,"",A32*2) =IF(MOD(C33,2)=0,"","✔") =QUOTIENT(C32,2) =IF(B33="✔",A33,"")
=IF(C34=0,"",A33*2) =IF(MOD(C34,2)=0,"","✔") =QUOTIENT(C33,2) =IF(B34="✔",A34,"")
=SUM(E22:E34)

« »