fc2ブログ
    ■補数って?

     10、100,1000……から、ある数を引いた残りの数のことを(基数の)補数というが、今回の主役は、
    それよりも1少ない、いわゆる減基数の補数(注)である。
     10進数だと、ぶっちゃけ足して(各桁が)9になる数(の組)だ。


     具体例を出すと「9-1=8」だから、8は1の補数である。いうまでもないが、1は8の補数である。


    ■まずは「おつり算」


     日常生活で最も多い計算は「おつりを計算すること」だろう。
     これは補数を使った計算の第一歩にちょうどいい。

    速算に 10000-3452=?

    を計算することは、3452の基数の補数をもとめることだけれど、

    まず減基数の補数を求めちゃえばいい。そしてこれは次の方法で反射的にできる。
    減基数の補数は基数の補数よりも1だけ少ないということを心に留めておくと、

    次の表を覚えておく(というより反射的に出るようにしておく)だけで、
    「繰り下がり」なんかに希少で貴重なワーキング・メモリを費やさずに、反射的に計算ができる

     0 なら 9
     1 なら 8
     2 なら 7
     3 なら 6
     4 なら 5
     5 なら 4
     6 なら 3
     7 なら 2
     8 なら 1
     9 なら 0


     表の中身は、なんてことない「足して9になる数字の組」なので覚えるまでもないが、反射的に出るようにしておくのが、ポイント。


    ■実際の計算


     9999 + 1 =10000
     3452

     ↓↓↓↓(反射的に置き換え)

     6547(減基数の補数) + 1 = 6548(基数の補数)

     何桁の引き算だろうと、最も上の位から十の位までは、自動的に置き換えることで済む。
     一の桁だけ、プラス1することを忘れなければよい。
     さらに良いことは、上の桁から計算ができるので、口頭で数字が与えられた時でも、数字を読み上げられているさなかに計算が開始できるので、数字を一旦アタマの中に蓄えなくても計算できる。
     おかげで、これまたワーキング・メモリを消費しなくて済む。


     100000000000000000
      43512809838428374
     -)
      56487190161571626

     こんな桁数が多くても大丈夫である。
     最後の一の位だけ、忘れず1プラスしておくこと。
     というより「999……9」から始めたんだ、ということだけは忘れずにいること。


    ■引き算と足し算を相互に変換する


     「おつり算」を反射的にできるようになることは、補数を反射的に計算できることである。
     実は、補数は、引き算を足し算にするのに用いられる。
     オーバーフロー(桁あふれ)を無視すれば、ある数で足し算することは、その基数の補数を引き算することに等しい。
     例を示そう。

     38+99
    =38+(100-1)
    =100+38-1
    =100+37
    =137

    ステップを細かく分けているが、99なら100を足しておいて1引く、なんてことは誰でも思い付くだろう。ここで1は99の基数の補数である。

     38+86
    =38+(100-14)
    =100+38-14
    =100+24
    =124

    やってることは同じ。頭の使い方は、「38+86だと、どしたって100超えるよな。下二桁は、86→(補数に変換)→14を足しときゃいいか。100と24だ。」といった感じである。





    (注)
     基数の補数を使え、と書いてあるものがあるが、却って鬱陶しい。なぜそろばんの珠は、10から9を表すものに「進化」したのか、考えてみるといい。
     なお基数をもっとちゃんと定義しとくと、
    b 進法において、自然数 a を表現するのに必要な最小の桁数を n としたとき、

      * bn - a を「b 進法における a に対する基数の補数(b の補数)」
      * bn - a - 1 を「b 進法における a に対する減基数の補数(b - 1 の補数)」

    という。
     例えば、10進法において、自然数 61 に対する基数 10 の補数は 102 - 61 = 39、減基数の補数は、102 - 61 -1 =38。つまり「足して9になる数」に各桁を置き換えることは、減基数の補数を求めているのである。
     2進法において、自然数 100102( = 1810) に対する基数 2 の補数は 25 - 18 = 11102( = 1410) 、減基数の補数は011012と1と0を入れ替えた数になる。




    計算術のようなものは、ほとんどこの本に網羅されている。

    計算がらくになる実用数学計算がらくになる実用数学
    (1963/10)
    波多 朝

    商品詳細を見る


    近年入手が難しくなっていたがオーム社から再発行された。

    計算がらくになる実用数学計算がらくになる実用数学
    波多 朝

    オーム社
    売り上げランキング : 593760

    Amazonで詳しく見る



    速算に特化したのがこれ。
    速算術入門速算術入門
    (1974/06)
    波多 朝

    商品詳細を見る


    こちらも近年入手が難しくなっていたがオーム社から再発行された。

    計算の名人になれる速算術入門計算の名人になれる速算術入門
    波多 朝

    オーム社
    売り上げランキング : 260511

    Amazonで詳しく見る



    計算力を強くする (ブルーバックス)計算力を強くする (ブルーバックス)
    (2005/08/21)
    鍵本 聡

    商品詳細を見る


    暗算の達人暗算の達人
    (2007/02/28)
    アーサー・ベンジャミンマイケル・シェルマー

    商品詳細を見る




    (関連記事)
    「足して9になる数字」が四則演算すべての検算を驚くほど加速する理由 読書猿Classic: between / beyond readers 「足して9になる数字」が四則演算すべての検算を驚くほど加速する理由 読書猿Classic: between / beyond readers このエントリーをはてなブックマークに追加

    読書猿Classic 数学にはネイティブはいない:「語学としての数学」完全攻略、その後 読書猿Classic  数学にはネイティブはいない:「語学としての数学」完全攻略、その後 このエントリーをはてなブックマークに追加
    ……ネット上の資源、計算力をつける本、大学以降用のブックリスト

    読書猿Classic 数学にはネイティブはいない:「語学としての数学」完全攻略=風景+写経アプローチ 読書猿Classic  数学にはネイティブはいない:「語学としての数学」完全攻略=風景+写経アプローチ このエントリーをはてなブックマークに追加
    関連記事
    Secret

    TrackBackURL
    →https://readingmonkey.blog.fc2.com/tb.php/213-0492e932