前回に引き続き,7と11と13の倍数を同時に判定する方法を学びましょう。
7と11と13の最小公倍数である1001を利用するのですね。
1000を1001ー1として式を変形する必要があります。1桁ずつでは1000を作れないので,3桁ごとにまとめ式を立てましょう。例えば最大9桁の数を,3桁ずつ区切ってやってみましょう。
最大9桁の整数は1000000A+1000B+Cと表される。
(A, B, Cは最大3桁の非負整数とする)
1000000A+1000B+C
=1000(1000A+B)+C
=(1001ー1)(1000A+B)+C
=1001(1000A+B)ー(1000A+B)+C
=1001(1000A+B)ー1000AーB+C
=1001(1000A+B)ー(1001ー1)AーB+C
=1001(1000A+B)ー1001A+AーB+C
=1001(999A+B)+AーB+C
=(7×11×13)(999A+B)+(AーB+C)
ここで,初項の(7×11×13)(999A+B)は
7, 11, 13の倍数でもある。
よって,第2項のAーB+Cが7の倍数であれば,
1000000A+1000B+Cも7の倍数である。
同様に,第2項のAーB+Cが11の倍数であれば,
1000000A+1000B+Cも11の倍数である。
さらに,第2項のAーB+Cが13の倍数であれば,
1000000A+1000B+Cも13の倍数である。
3桁ずつ区切って計算し,その解が7, 11, 13の倍数か否かを判断するのはかなり大変です。
もしかして,7や11や13で直接割り切れるかを計算したほうが早いのかもしれません。
ひとつだけ,具体例を計算して確かめましょう。2388万2040は7, 11, 13いずれかの倍数でしょうか?
23ー882+40=ー819
819÷7=117
819÷11=74.45…
819÷13=63
よって,2388万2040は7と13の倍数です。
直接割り算したほうが早いと思いますが,このような考え方は身につけておくとよいですね。
コメント