0

OMC対策(N分野:合同式)

11
0

本記事の前提知識

 前提知識は特になし.
 今回の記事は,非常に基本的なところからスタートするので,練習問題も多めとなっている.不安がある人は確認しながら進めてほしい.

合同式の定義と性質

 合同の定義とは,次のようなものである.

整数の合同

 2つの整数a,bが法n(2)に関して合同とは,abnの倍数であることを意味する.
 これをabmodnと記述する.

 「2つの整数a,bnで割った余りが等しいとき」という表現の定義もある.この表現は,負の整数の割り算を理解していなければならないので,個人的にはあまり好みではない.

 次のうち正しいものを全て選べ.
(1) 131mod6
(2) 427mod12
(3) 108mod9
(4) 341mod20
(5) n21modn+1n1

解答
 (1)(3)(4)は正しい.
 (5)はn=1のとき正しく,それ以外のときは正しくない.その証明を考えてみてほしい(答えは次の折り畳み).
(5)について
 n2(1)=n2+1n+1の倍数であるかどうかを考えたい.
 n2+1=(n+1)(n1)+2と変形すると,2n+1の倍数のとき,(5)は正しい式であるとわかる.
 つまりn=1のときに限って(5)は正しい.
合同式と加減乗

 abmodncdmodnであるとき,以下が成り立つ.
(加法)a+cb+dmodn
(減法)acbdmodn とくに ab0modn
(乗法)acbdmodn とくに akbkmodn


 証明略.気になる人は こちら をどうぞ.

 加減乗の3つの演算については,公式1のようによい性質を持っているが,除法については少し面倒である.

合同式と除法

 akbkmodnであり,nkが互いに素であるとき,abmodnが成り立つ.


(問題)「nkが互いに素」という条件を取り除いて,abmodnとなる例を考えよ.

問題の答え
 単純な例としては,24mod212mod2が考えられる.(この例を一般化すると,akbkmodkabmodkとも言える.)

 次の問いに答えよ.
(1) 10a+ba+bmod11を示せ.
(2) (1)を用いて,10000a+1000b+100c+10d+eab+cd+emod11を示せ.
(3) 2345で割った余りを求めよ.
(4) 12345で割った余りを求めよ.
(5) 2100101で割った余りは1である.これを用いて,299101で割った余りを求めよ(わからなければ解答を見てから(6)に取り組むのがよい).
(6) (5)と同様にして,298,297101で割った余りを求めよ.

(1)の解答
 10a+b(10a+b)11a=a+bである.
(2)の解答
 N=10000a+1000b+100c+10d+e=10(1000a+100b+10c+d)+eに対して(1)を用いるとN(1000a+100b+10c+d)+eである.さらに変形して,10(100a10bc)d+eに対して(1)を用いるとN(100a+10b+c)d+eである.あと何回か同じことをすればよい.
 なお,この証明は11の倍数判定法の証明にも適用できる.
(3)の解答
 234=417(1)17=14と計算するか,234=232×4=168×418×4=4と計算するかだろう.
(4)の解答
 1234234より,(3)と同じ4である.
(5)の解答
 21001mod101より2100102mod101である.両辺2で割れば29951mod101
(6)の解答
 29951mod101から299152とすれば,2,4で割ることができる.それぞれ76,38である.
 なお,2100からスタートする場合,21001100としてから4で割る発想も自然である.

 この(5)(6)の考え方を発展させると,分数の合同式を考えることができる.

分数の合同式

記法

 nkが互いに素であるとき,任意の整数aに対してabkmodnが成り立つ自然数bが存在する.このようなb0以上n1以下の中にただ一つである(これを「nを法としてただ一つ」ともいう).
 従ってakbmodnと書くことが可能であり,実際にこのように書く場合がある.

 なお,このような記法をする場合,最初の定義のままでは危うい.最初の定義は,整数に対してのみ定義されていたからである.そこで一応,分数にまで拡張した合同式の定義を記しておく.ただし,この定義をきちんと把握しておくことが役立つかと言うと,そうでもないだろう.

分数の合同式

 2つの分数ab,cdが法n(2)に関して合同とは,

  • b,dnと互いに素である
  • adbcnの倍数である

 以上の両方が成り立つことを意味する.これをabcdmodnと記述する.


 adbcがどこから来たのか?という疑問があるかもしれないが,それはabcdを計算してみればわかる.

問題2(5)の補足

 問題2(5)は「101を法として12と合同な整数は何か」という問いだと考えられる.これは,以下のように計算できる.
 121+1012=51


(問題)同様にして,問題2(6)を分数の合同式を使って表せ.

問題の答え
 141+1014=51251+1012=76
もしくは 1411014=2525+101=76 など

 181+1018=51451+1014=38
もしくは 181+3038=38 など

練習問題

 最後に,練習問題を用意した.

 n2n+10で割り切れるような正整数nを全て求めよ.

解答
 n2n2(n+10)(n10)=100modn+10
 よってn+10100の約数であればよい.n+10>10に注意して,n+10=20,25,50,100であり,n=10,15,40,90

 p1C2k1modpを示せ.ただし2k<p1である.

解答
 p=2のときはすぐに確かめられる.以下,p3とする.
 p1C2k=(p1)!(2k)!(p2k1)!である.ここで
 (2k)!=12(2k1)2k=(1)(2)(2k+1)(2k)(p1)(p2)(p2k+1)(p2k)
より,p1C2k=(p1)!(2k)!(p2k1)!(p1)!(p1)!=1
OMCの例題
OMC177(B)
OMC025(A)
OMC145(C)
OMC203(G) ←かなり難しめ
投稿日:322
更新日:322
OptHub AI Competition

この記事を高評価した人

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

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

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

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

投稿者

て
2
841

コメント

他の人のコメント

コメントはありません。
読み込み中...
読み込み中
  1. 本記事の前提知識
  2. 合同式の定義と性質
  3. 分数の合同式
  4. 練習問題