本記事の前提知識
基本的な合同式が使えることを前提とする.より具体的には,
この記事
の問題1,2がある程度解ければ十分である.
フェルマーの小定理(基本編)
OMCにおいて,フェルマーの小定理は非常に重要である.OMCの仕様上,整数値しか解答として受け付けないためである.
例えばある問いの答えがであるとき,数学オリンピックや大学受験の問題であれば,そのまま解答できるだろう.しかしOMCではそうはいかない.OMCでは,例えば次のような問われ方をする.「求めた値を素数で割った余りを解答してください.」
つまりフェルマーの小定理を使えることは,OMCにおいてはスタートラインだと言っても過言ではない.
では早速,その定理を紹介しよう.
フェルマーの小定理は,次のように表現されることも多い.
素数と整数に対して,が成り立つ.
個人的にはこちらの方が簡潔で好みだが,定理1の表現の方が実用性は高い.
実際に問題を解いてみよう.
をで割った余りを求めよ.
(解)合同式はとする.
フェルマーの小定理よりであり,.
補足をしておく.この問題であれば,の形式を用いて解いても大差ない.実際,となる.
しかし一般的には,定理1の表現(つまり)の方が使い勝手は良い.
次の例題はどうだろう.
をで割った余りを求めよ.
合同式はとする.
(解1:を用いる)
である.回同じことを繰り返すと,であることがわかる.
(解2:を用いる)
をで割った余りはである.よってある整数が存在してと表すことができ,である.
解1はうまく工夫して解いているが,解2は単純にで割った余りを考えればよい.この問題であれば,解1でも上手に解けているが,「をに置き換える」よりは「指数部分をで割る」ほうが,方針が明快だろう.
勿論,状況に応じてどちらも使えることが望ましいが,基本的には解2が優ることが多い.練習問題を解いてみよう.
(1) を素数で割った余りを求めよ.
(2) 素数に対してをで割った余りを求めよ.
(3) 素数に対してをで割った余りを求めよ.
(4) をで割った余りを求めよ.(※は素数ではない.)
(1)のヒント
フェルマーの小定理を適用して,,,となる数をそれぞれ求めよう.
(1)の解答
合同式はとする.
フェルマーの小定理より ,,である.
よってである.
(2)の解答
である.
よって,のとき余り,のとき余り,のとき余り,のとき余り,以上の素数に対しては余りである.
(3)のヒント
をで割った余りを求めたい.合同式の性質を活用しよう.
(3)の解答
をで割った余りを求めたいが
である(以上の素数は奇素数なのでは常に偶数).
よって求めるべき値はである.
(4)のヒント
を素因数分解して,それぞれの素因数に対してをで割った余りを求める.
その後,連立合同式を解けばよい.(連立合同式の解き方がわからなければ,この問題は飛ばすのが吉である.)
(4)の解答
である.
法をとして,.
(なおこの計算は,を法とすればであることを利用して,とすれば簡単に計算できる.)
法をとして,.
よって,方程式の整数解を求めればよい.を取ればとなり,と計算していけばを得る.よってが答えである.
フェルマーの小定理(応用編その1)
改めてフェルマーの小定理の式を見よう.であった.
この式からすると,指数が以上でなければフェルマーの小定理は適用できないように見えるが,実際はもう少しだけ応用が利く.例えば次の例題である.
を素数で割った余りを求めよ.
合同式はとする.
となる整数を求めたい.式の両辺を倍すると
となり,である.
このように,合同式の性質をうまく活用することで,指数が未満の場合でも,フェルマーの小定理を活用することができる.なお,本解答は
と書くこともできる.あるいは,分数の合同式が使えるのであれば
と書くことも可能だが,これは上級者向けだろう.
少しだけ練習問題を用意した.計算が面倒なものもあるが,合同式の扱いに慣れる練習だと思って取り組んでみてほしい.
(1) 素数に対してをで割った余りを求めよ.
(2) を素数で割った余りを求めよ.
(3) を素数で割った余りを求めよ.
(1)の解答
とする.両辺を倍することで
となり,フェルマーの小定理よりである.
は奇素数なのではで割り切れる.よって.
(2)の解答
とする.
.
.
.
よって.
(3)のヒント
実は(2)がちょっとしたヒントである.を変形することができる.
(3)の解答
とする.
であることを使えば,である.
の整数解を求めたい.両辺倍してからフェルマーの小定理を適用すると,となるが,をで割った余りを考えるとである.
以下,と変形していけばよい.答えはである.
フェルマーの小定理(応用編その2)
OMC対策としては不要かもしれないが,証明問題の対策についても書いておこう.
次の問題は,フェルマーの小定理を適用して解くこともできる.
解答
のとき,より,はで割り切れる.は明らかにより大きいので素数でない.
のときは,.これはで割り切れるので素数でない.
フェルマーの小定理を大学受験で使ってよいのかについては諸説ある.実際,上の問題であればで場合分けするだけで解けるのだから,フェルマーの小定理を持ち出すのは少し大げさな感じがする.
受験する大学のレベルにもよるから,一概には言えないかもしれないが,一般論として,フェルマーの小定理はあまり使わない方がよいだろう.(もしくは,フェルマーの小定理の証明を覚えておいて,それをきちんと記述するという裏技もあり得る.)
ほぼ同じ方針ではあるが,類題を用意した.
解答
のとき,より,はで割り切れる.
のときは,がで割り切れるため素数でない(確かめよ).
もう一題,フェルマーの小定理を利用した超有名問題がある.
そちらを練習問題として後に残し,先に,自作の類題を見ていただこう.
任意の素数に対して,次の条件を満たすある正整数が存在することを示せ.
(条件)はの倍数である.
ヒント
任意の素数に対して,となるような正整数が存在するということである.
解答
のときを考えると,を法としてである.つまりはの倍数である.
次の問題が,先ほど書いた「超有名問題」である.解答はインターネット上に(動画も含め)いくらでも存在するので,わからなければ各自で調べてほしい.
IMO(2005)
数列を
で定める.この数列のどの項とも互いに素であるような自然数をすべて決定せよ.
最後にOMCの例題を載せておく.
OMCの例題
OMC185(B)
OMC101(E)