Python×インド式算数⑳(最終回)割る数とその数の補数を利用して割る割り算






 ということで一応最終回ですが。
 まあこれまでの内容に留まることなくもっといい方法とか使えそうな方法とかを考えていこうと思ってますし、一応の目標は100×100までのかけ算をどれだけマスターできたかということでもありますので。そこらへんを見ていきたいなと思ってます。
 先にそっち見てみましょうか。


 IMG_20201112_114120.jpg

 11×11から100×100までを色塗りしてみた表です。
 赤は一瞬で解ける部分ですね。
 10×75とか750で一瞬で出ますので赤で色塗りしました。
 赤は瞬殺です。


 一方の青はインド式とかテクを使ったらできる部分です。
 19×19なら19+9=28、9×9=81で合わせて361ってヤツですね。
 こうやって色分けしていった結果どうなったかってのが下の表です。

 IMG_20201112_114140.jpg

 左上から右下まで貫いていってるのが2乗計算ですね。
 11の2乗は左右に1を広げて、空いたスペースに1+1=2したら121、とかいうのもありましたし。
 あるいは98の2乗とかであれば 
 (98+2)(98-2)+4と置いて9600+4=9604と出すなんてのもありましたが。
 これでほとんどすべての2乗計算は可能になるかなと思います。


 まあ例えば21の2乗とかでも
 (21+79)(21-79)+79の2乗、とおけば
 -5800+6241=441と出せないことはない。
 まあやりませんけどね(笑)


 とまあこんな感じで色分けしていったらほとんど真っ白のままだったという話ですが(笑)
 まあこれに懲りることなく100×100のかけ算を網羅していけたらなと思ってます。
 インド人の算数知識をできる限りパクっていけたらなということですね。


 ・で昨日に引き続き今日も割り算ですね。
 10046/89なんですが。これを100と46に割って計算するというテクですね。
 ①割る数の89が2桁なので、それに合わせて100と46にまず分割
 ②89の100に対する補数が11
 ③100の1をそのまま下におろしてきて1
 ④下ろした1と補数である11をかけて00の下に置く
 ⑤2桁目、0+1=1としてそれを下へ
 ⑥この1と補数11をかけて3桁目と4桁目の下へ
 ⑦3桁目、1+1+0=2となりそれをそのまま下へ
 ⑧2×補数として22を4、5桁目の下へ
 ⑨4桁目が4+1+2=7、
  5桁目が6+2=8
  となります。
 ⑩よって商112、余り78という感じになりますね。


 で、まあ便利な技ってことなんですが、まあこれなら電卓使えばいいか(笑)てのと。
 プログラミングでやるにもあまりにも複雑なんでとうとうできてません(笑) 
 100-11=89と出すだけなら簡単なんですが、上の1と下の1を分けて別々に使うとかけっこう大変なんですよね。
 後はまあ100×100と関係ないからまあいいかってのもありますし(笑)


 ということで最終回が一番雑な内容になってますが(笑)、今後も思いついたらなんか書いていければと思ってますし、今後も内容を追加していけたらもっといいかなと思ってます。
 次回から何書こうかな。
 とりあえず3乗計算あたりから動画あげてないのでまた気が向いたらあげてみようかなと思ってます。







この記事へのコメント

にほんブログ村 ゲームブログ ゲーム評論・レビューへ
にほんブログ村