1

倍数判定法を合同式で理解する

109
0

倍数判定法を合同式で理解する

はじめに

生徒に質問されたので,LATEXのリハビリも兼ねて久々に記事を書いた.

説明の都合上,一貫して積の記号を省略しない
例えば,a1a2a3(an=2n+1)a1a2a3=a1a2a3=357=105ではなく, a1a2a3=357を意味する.

また,次に注意せよ.

合同式の性質

a,b,c,d,p(0)Z に対し,
1.  ab(modp) ,cd(modp)a+cb+d(modp)
2.  ab(modp) ,cd(modp)acbd(modp)
3.  ab(modp)anbn(modp) (nN+)

1.
あまりを元の数から引いたらpで割り切れる.(それをpと書く.(読み:p divides .))
p(ab) , p(cd)だから,
a+c=(ab)+(cd)+b+db+d(modp).

2.
p(ab) , p(cd)より, p(ab)c , p(dc)bだから,
ac=(ab)c+bcbc+(dc)bbd(modp).

3.
2.c,dをそれぞれa,bに置き換えてn回繰り返す.

以下,A:=a2a1とする

2n,5nの倍数判定法

2n,5nの倍数判定法

2n,5nA2n,5nanan1a1

10n=2n5nを利用する.

knなるkに対し,10k=2n5n10kn0(mod2n,5n)より,a10k0(mod2n,5n)だから,

A=+an+2000(n+1)+an+1000n+anan1a1anan1a1(mod2n,5n).

36965048の倍数か?
解答


3696504504(=400+104)104(=80+24)240(mod8) 8の倍数.

3,9の倍数判定法

101(mod3) , 101(mod9)を利用する.

3,9の倍数判定法

3,9A3,9(+a2+a1)

101(mod3,9)より,a10na(mod3,9)だから,

A=+a300+a20+a1+a3+a2+a1(mod3,9).

36965043,9の倍数か?
解答


36965043+6+9+6+5+0+4
5+4 (3)90(mod3)
3の倍数.

36965043+6+9+6+5+0+4
3+6+6+5+4 (9)9+6+96(mod9)
9の倍数ではない.

7,11,13の倍数判定法

1001=71113を利用する.
面倒なので教えず,「実際に割って確かめろ」と指導する講師が多い.
余談だが,1001は千夜一夜物語にちなみ"シェヘラザード数"と呼ばれている.

7,11,13の倍数判定法

7,11,13A7,11,13(+(1)na3n+3a3n+2a3n+1a6a5a4+a3a2a1)

要はA3桁ごとに区切って足し引きする.
Apの倍数なら,A0(modp)A0(modp)だから,倍数判定時は(後述する,剰余を求めるときはNG)符号が交互に代わってさえいれば逆でもよい.

1031(mod7,11,13)より,a103na(1)n(mod7,11,13)だから,
A=+a3n+3a3n+2a3n+10003n++a6a5a4000+a3a2a1+(1)na3n+3a3n+2a3n+1+a6a5a4+a3a2a1(mod7,11,13).

942487,11,13の倍数か?
解答


94248094+2481542711(mod7,11,13)
7,11の倍数.13の倍数ではない.

ん?

・倍数が10n+αとなる整数の倍数判定法を自作できないか?
・倍数判定式とあまりは一致しないか?

ここまで読んでこのように思った者はちゃんと理解できていると思うので,これ以降も読むとよい.

7の倍数判定法2

先ほど3桁まで絞った後,あとは丸投げされたと思っただろうが,そう落胆しないでほしい.

7の倍数判定法2

1.  7abc7(2a+bc)
2.  7abc7(ab2c)

1.
1002(mod7) より,abc=a00+bc2a+bc(mod7).

2.
210(mod7) , 710 より,abc=ab020c+21c(ab2c)10(mod7).

これは中学受験対策などで結果だけ覚えさせられた者が多いだろう.
絶対に100を超えないから,俺は定理42が好きだ.

他の11の倍数判定法を作れ.
解答


101(mod11)より,a10na(1)n(mod11)だから,
A=+a300+a20+a1+a3a2+a1(mod11)

11A11(+(1)n1an+a2+a1)

※簡単だから,参考書にはこちらが載っているのをよく見かける.

37の倍数判定法を作れ.
解答


3739=1119=999より,10001(mod37)だから,a103na(mod37)

A=+a3n+3a3n+2a3n+10003n++a6a5a4000+a3a2a1+a3n+3a3n+2a3n+1++a6a5a4+a3a2a1(mod37).

37A37(+a3n+3a3n+2a3n+1+a6a5a4+a3a2a1)
(3桁ごとに区切って足すという操作を繰り返して作った3桁の数が37の倍数ならばA37の倍数)

6進法における5の倍数判定法を作れ.
解答


6進法において,
101(mod5)だから,a10na(mod5)

A=+a300+a20+a1+a3+a2+a1(mod5).

5A5(+a2+a1)

9の倍数判定時に気付いた者もいると思うが,n進法において101=n1だから,n1の倍数判定法は須らく,桁の和がn1の倍数かどうかになる.


割り勘

定理42以外のような,倍数が10n+α型のものは見てわかる通り,あまりと判定法が一致している.
これを俺はカラオケや飲み会などで割り勘をする際の小テクとして用いている.

82543で割った数を超えない最大の整数を求めよ.
解答


82548+2+5+41(mod3)だから,
825413=9000750+33=2751.

実際に割り勘するとき,簡単のため,8254=8100+154154(mod3)(聖人) や,8254=8400146146(mod3)(邪悪)としても良いだろう.

最後に

人生で一番\cdotを打った気がする.
使用例は これ 等を参照せよ.

投稿日:2024528
更新日:202491
OptHub AI Competition

この記事を高評価した人

高評価したユーザはいません

この記事に送られたバッジ

バッジはありません。
バッチを贈って投稿者を応援しよう

バッチを贈ると投稿者に現金やAmazonのギフトカードが還元されます。

投稿者

東北大学工学研究科出身 できるだけ受け売りはせず,自分で思いついた解法や妄想を備忘録がてら書き綴っていこうと思います.

コメント

他の人のコメント

コメントはありません。
読み込み中...
読み込み中
  1. 倍数判定法を合同式で理解する
  2. はじめに
  3. 2n,5nの倍数判定法
  4. 3,9の倍数判定法
  5. 7,11,13の倍数判定法
  6. ん?
  7. 7の倍数判定法2
  8. 割り勘
  9. 最後に