ここでは、余りの計算について振り返った後、商の剰余演算の具体例を見ていくことにします。
剰余演算の具体例
余りの計算では、剰余演算について見ました。剰余演算とは、ある正の整数 で割った余りの世界で計算を行うことです。この世界では、余りが等しいなら "同じもの" とみなします。例えば、次の式が成り立ちます。これは、 も も、 で割った余りが等しい、ということを表しています。
剰余演算では、和・差・積について、便利な性質があります。少し抽象的に書くと、
のとき、次の式が成り立ちます。
例えば、 であることから、 , , などが成り立つ、ということです。もちろん、計算すれば成り立つことが確かめられます。この性質は、余りの計算と、和・差・積の計算は、どちらを先にやってもいい、と考えることもできます。
ところが、商ではこういう性質は成り立ちません。例えば、先ほどの文字を使って書けば、 と は で割った余りが等しくなるとは限りません。 ですが、 はそもそも整数ではないですし、 に関する数字がでてくる気配はありません。
このように、商に関しては、同じような性質は成り立たないのですが、それだと少し不便です。例えば、競プロでは、場合の数を求めることがあり、 を で割った余りを求める、という場面がよくあります。パスカルの三角形と組合せで見たように、 が や くらいであれば計算できるので問題ないのですが、もっと大きい場合は、パスカルの三角形を使う方法は無理です。また、分母にある , は、値が大きすぎて直接値を計算することはできません。しかも、先ほど見たように、余りを計算してから商を計算する、ということはできないんですね。不便です。
ただ、この問題は、ある条件のもとではクリアできます。具体的な例で計算をしてみます。
商の剰余演算の具体例
先ほどの について考えてみましょう。この割り算の部分をなんとかして計算できるようにしましょう。
ここで、天下り的ですが、 を掛けることを考えてみます。 なので、 で割った余りを考える世界では、 を掛けることは を掛けることと同じであり、掛けたとしても余りには影響しません。しかも、これは2の倍数なので、次のようにうまく計算することができます。なお、 で計算しています。
は、 の世界では と同じ結果になるので、答えは変わりません。しかも、 と相殺して、 という積の形になります。こうなれば、余りの積を考えればよく、元の式は と合同だと計算できます。
つまり、 を計算するには、 となるような が見つかればうれしいことがわかります。 を掛けても答えは変わらないので、掛けてから計算していけばいいですね。商の部分が消えるので、計算が進んでいきます。
ではどうやってこんな数を求めるのか、という新しい問題が出てきます。これについては、数学の世界で良い性質が見つかっているので、それを利用することにします。「フェルマーの小定理」というものを使うのですが、これについては次の機会に見ることにしましょう。
おわりに
ここでは、商と剰余演算について、具体的な例を見てきました。商は和・差・積と同じようには計算できないこと、そして、工夫することで商の剰余演算もできる可能性があることを、具体的な例を通じてみてきました。フェルマーの小定理を使えば、さらに計算することができるので、次回で詳しく見ていくことにします。