7の倍数判定法(2)
 
 
7の倍数判定については、前に記事に書きました。
 
http://blogs.yahoo.co.jp/st5402jp/7237614.html
そこにこの記事部分も追加して書いたのですが、ずいぶん前のことなので、
改めて、今回、1桁ずつ掛けて足す方法について記事にします。
桁ごとに、簡単な整数を掛けて、足して、判定する方法です。
 
 7の倍数部分を略して略して
 7の倍数判定部分を小さくしていきます。
  (「^」は、べき乗を表します。3^2=3の2乗=9)
 
整数A=An・・・A5A4A3A2A1A0 ((n+1)桁の整数の十進法表記)
 =An×10^n+・・・+A3×10^3+A2×10^2+A1×10^1+A0
 =ΣAn10^n=ΣAn(7+3)^n
    2項定理の展開式より、
 =7K1+Σ(An・3^n)
    n=6m+p とおくと、pは、6で割った余り
    ゆえに、pは、0、1、2、3、4、5、で、
    Anの、桁nによって変わる。pに置き換えると、
 =7K1+Σ(An・3^(6m+p))
 =7K1+Σ(An・3^6m・3^p)
 =7k+Σ(An・(3^6)^m・3^p)
    3^6=729=728+1=7×104+1 だから
 =7K1+Σ(An・(7×104+1)^m・3^p)
    再び、2項定理の展開式より、
 =7K1+Σ(An・(7K2+1)・3^p)
 =7K1+Σ(An・7K2・3^p)+Σ(An・3^p)
 =7K3+Σ(An・3^p)
ここで、pは、nによって異なるので、当てはめると
整数Aの7の倍数判定部分、Σ(An・3^p) は、
 n=6m   のとき p=0 3^0=1 桁の数に、1を掛ける
 n=6m+1 のとき p=1 3^1=3 桁の数に、3を掛ける
 n=6m+2 のとき p=2 3^2=9
                 =7+2 桁の数に、2を掛ける
 n=6m+3 のとき p=3 3^3=27
                 =28-1=7×4-1
                      桁の数に、-1を掛ける
 n=6m+4 のとき p=4 3^4=81
                 =84-3=7×12-3
                      桁の数に、-3を掛ける
 n=6m+5 のとき p=5 3^5=243=245-2=7×35-2
                      桁の数に、-2を掛ける
 あとは、p:0~5の場合を循環する。
つまり、1,3,2、-1、-3、-2、を循環する。これを
それぞれ、A0、A1、A2、A3、A4、A5、・・・、に掛けて、足したものが
整数Aの、7の倍数判定部分である。
 
例えば、整数Aの7の倍数判定部分、Σ(An・3^p)を考えると、
下一桁目A0 の整数Aの7の倍数判定部分は、
 A0×3^0=A0、
 つまり掛ける数は、1
下二桁目A1 の整数Aの7の倍数判定部分は、
 A1×3^1=A1×3=3×A1、
 つまり掛ける数は、3
下三桁目A2 の整数Aの7の倍数判定部分は、
 A2×3^2=A2×9=A2(7+2)=7×A2+2×A2、
 掛ける数は、7の倍数を除いて、2
下四桁目A3 の整数Aの7の倍数判定部分は、
 A3×3^3=A3×27=A3(28-1)=7×4×A3-A3、
 掛ける数は、7の倍数を除いて、-1
下五桁目A4 の整数Aの7の倍数判定部分は、
 A4×3^4=A4×81=A4(84-3)=7×12×A4-3×A4
 掛ける数は、7の倍数を除いて、-3
下六桁目A5 の整数Aの7の倍数判定部分は、
 A5×3^5=A5×243=A5(245-2)=7×35×A5-2×A5
 掛ける数は、7の倍数を除いて、-2
 
整数Aの7の倍数判定部分は、上の6つの式の7の倍数部分を除いて、
掛けて、足して、
  A0+3A1+2A2-A3-3A4-2A5+・・・ と6桁ごとに循環する。
 
以上、我流・回り道の解答例でした。失礼。
 
 
下から3桁ずつに区切って奇数区と偶数区の差で判定する方法や
ABCについて、AB-2C、で判定する方法については
前に書いた
http://blogs.yahoo.co.jp/st5402jp/7237614.html
を参照してください。
 
 
(2016年05月22日)