フェルマーの小定理

● 循環小数(じゅんかんしょうすう) ●

 フェルマーの大定理(最終定理)が、1994年にワイルスによって証明され、
当時はかなり話題になりましたね。

 でも、コンピュータの「暗号(あんごう)」のお話で、フェルマーの小定理の方も、
そのずっと前から話題になっていたことを知っていますか。

 フェルマーは、やがてコンピュータの時代がきて、
その時自分の発見した定理が「暗号」に応用されるなんて、
思ってもいなかったでしょうね。

 さて、フェルマーは循環小数(じゅんかんしょうすう)を研究していて
この定理を発見したと言われています。

 では、ちょっとより道して、その循環小数についてみてみましょう。

 じつは、このホームページでも何回か出てきています。

 <お勉強>の「142857」や「わりきれる?」などでです。

 こんな数でしたね。

 1/3=1÷3=0.3333・・・・・

 1/6=1÷6=0.1666・・・・・

 1/7=1÷7=0.142857142857・・・・・

 1/9=1÷9=0.1111・・・・・

 1/11=1÷11=0.0909090・・・・・

 1/12=1÷12=0.08333・・・・・

 1/13=1÷13=0.0769230769230・・・・・

 

 さて、このくりかえされる部分を循環節(じゅんかんせつ)と言います。
 たとえば

   0.142857142857・・・・・ の循環節は 142857
   
0.0909090・・・・・ の循環節は 09
   
0.08333・・・・・ の循環節は 

 そして、そのけた数を位数(いすう)と言います。
 たとえば

   0.142857142857・・・・・ の位数は 6
   0.0909090・・・・・ の 位数は 2
   
0.08333・・・・・ の 位数は 1   

 


● 合同式 ●

 では、もう一度じっさいにわり算をして、循環節を求めてみましょう。

 今度も 1/7=1÷7 でやってみましょう。
 ここで、7は素数であることに注意してください。

    (注意)7分の1 を 1/7 と書くことにします。

 フェルマーの小定理は素数についてのものです。
 オイラーはさらに合成数について発展させました。
 こちらは、オイラーの定理とよばれています。

 では、復習です。

        0.142857142857・・・・・・
      ______________
     ) 1 0
          7
       ____
          
          28
          ___
           
           14
           ___
            
            56
            ___
             
             35
             ___
              
              49
              ___
               10

 この、続きはしなくていいことは、<お勉強>の「142857」でやりましたね。

 10÷ ですから 同じことのくりかえしでした。

 さて、わりきれないって・・・いや〜ですね。
 「わりきれない思い」って言うくらいです。

 それなら、バッサリわりきっちゃいましょう!

 なんでわりきれないかというと、それはあまりがあるからにきまってま〜す。
 (オイオイ・・・!!)
 それなら、最初からあまりの分だけへらしておきましょう。
 ついでに小数点もとってしまって、整数の話にしてしまうのがコツです。

   1000000 から あまりの 1 をひくと 999999 です。 

 

          142857
      _______
     )  1000000         
          7
       ____
          
          28
          ___
           
           14
           ___
            
            56
            ___
             
             35
             ___
              
              49
              ___
               

 


          142857
      _______
     )   999999         
          7
       ____
          
          28
          ___
           
           14
           ___
            
            56
            ___
             
             35
             ___
              
              49
              ___
               

 

 今度は、同じあまりが出てくるかどうか気をつけていなくても
わりきれるまでどんどん  を下ろしてきてわっていけばいいので気楽ですね。

  ÷7 , 99÷7 , 999÷7 , 9999÷7 , 99999÷7

は、わりきれなかったけれど、999999÷7 はわりきれました。

 そして、 999999÷7=142857 となりました。
 つまり、999999=142857×7 です。

 もう一度くりかえすと、こういうことです。

 (10−1)÷7 ,(100−1)÷7 ,(1000−1)÷7 ,
 (10000−1)÷7 ,(100000−1)÷7

は、わりきれなかったけど、(1000000−1)÷7 はわりきれました。

 (1000000−1)÷7 がわりきれること、
つまり 1000000−1 が 7の倍数であることを

   1000000≡1 (mod 7)

と書いて、1000000 と 1 は 法7に関して合同であるといいます。

 ここで、mod というのは ラテン語の modulus の略で、法と訳すことになっています。

   1000000=10×10×10×10×10×10
          =10

 ですから、

   10≡1 (mod 7)

 ここで、10 は 10進法 であること、
        は 142857 が 6けた であること、つまり位数の 6 です。

 


● 3進法 ●

 10進数の10が出てきたので、それならば・・・
ということで、ほかの2進数とか3進数とかで1/7をあらわしてみましょう。

 さて、999 は あと1で 1000 になる数でした。
 <お勉強>の「1000−1」でやりましたね。

 では、2進法であと 1 あると (1000) になる数は?
 そうですね。(111) です。

 では、3進法であと 1 あると (1000) になる数は?
 そうですね。(222) です。

 では、4進法であと 1 あると (1000) になる数は?
 そうですね。(333) です。

 では、5進法であと 1 あると (1000) になる数は?
 そうですね。(444) です。

 では、6進法であと 1 あると (1000) になる数は?
 そうですね。(555) です。

 では、7進法で・・・
 おっとっと、7進法なら 1/7=(0.1) です。

 では、8進法であと 1 あると (1000) になる数は?
 そうですね。(777) です。

 では、9進法であと 1 あると (1000) になる数は?
 そうですね。(888) です。

 では、10進法であと 1 あると (1000)10 になる数は?
 そうですね。もうやった(999)10 です。
 そして、わりきれるまでどんどん  を下ろしてきてわっていったのですね。

 ではこのへんで、1/7をためしに3進法であらわしてみましょう。
 今度は、わりきれるまでどんどん  を下ろしてきてわっていきます。

 まず、7 を 3進法であらわすと、7=×3+ ですから (213 です。
 さあ、3進法でくりあがり・くりさがりを考えながらやってみましょう。
 でも、10進法のかけ算とごちゃごちゃになりそうな人は、むりしないでね。

 

          010212
       _______
    21 )  222222         
          21
        ____
           122
           112   ここで 2×2=4=3+1=(11)
           ___
            102
             21
            ___
             112   となりから 3 借りてくると 3−2=1
             112
            ___
               

 

 これから、

  1/7=(0.010212010212・・・・・)

 けっきょく、3進法では 循環節は010212 となり、位数は 6 です。

 そして、 (222222÷(21=(010212 となりました。
 つまり、(222222)=(010212)×(21)
 
これを10進法になおすと、

     3−1=104×7

 となります。そして、

 (3−1)÷7 ,(3−1)÷7 ,(3−1)÷7 ,
 (3−1)÷7 ,(3−1)÷7

は、わりきれなかったけど、(3−1)÷7 はわりきれました。

 今回は ≡1 (mod 7)

 ここで、 は 3進法 であること、
        は (010212) が 6けた であること、つまり位数の 6 です。

 


● n進法 ●

 せっかくですから、2進法、4進法、・・・とじゅんにやってみましょう。

■2進法

    7=4+2+1=(111)

        001
    111)111
        111
          0

 

    1/7=(0.001001001・・・・・)

     1    1    1     1 
     7 =   2   2   ・・・・・

 

    (111)=(001)×(111)

    2−1=1×7

    2≡1 (mod 7)

 

■4進法

    7=1×4+3=(13)

        021
     13)333
        32    2×3=6=4+2=(12)
         13
         13
          0

 

    1/7=(0.021021021・・・・・)

 

    (333)=(021)×(13)

    4−1=9×7

    4≡1 (mod 7)

 

■5進法

    7=1×5+2=(12)

        032412
     12)444444
        41     3×2=6=5+1=(11)
         34
         24 
         104
         103   4×2=8=5+3=(13)5 , 5=(10)
           14
           12 
            24
            24
             0

 

    1/7=(0.032412032412・・・・・)

 

    (444444)=(032412)×(12)

    5−1=2232×7

    5≡1 (mod 7)

 

■6進法

    7=6+1=(11)

        05
     11)55
        55
         0

 

    1/7=(0.050505・・・・・)

     1    5    5     5 
     7 =   6   6   ・・・・・

 

    (55)=(05)×(11)

    6−1=5×7

    6≡1 (mod 7)

 

■8進法

    7=(7)

       1
     7)7
       7
       0

 

    1/7=(0.11・・・・・)

     1    1    1     1 
     7 =  8  8   8   ・・・・・

 

    (7)=(1)×(7)

    8−1=1×7

    8≡1 (mod 7)

 

■9進法

    7=(7)

        125
      7)888
        7 
        18
        15    2×7=14=9+5=(15)
         38
         38   5×7=35=3×9+8=(38)
          0

 

    1/7=(0.125125125・・・・・)

 

    (888)=(125)×(7)

    9−1=104×7

    9≡1 (mod 7)

 

■n進法

 11進法からは、0から9までの数字ではたりなくて、
コンピュータの16進法のときのように、
A(10),B(11),C(12),・・・まで必要になってきます。

 でも、そんなことしなくても位数だけなら同じことのくりかえしになってきます。

   1≡1 (mod 7)  ,  8≡1 (mod 7)

   2≡1 (mod 7)  ,  9≡1 (mod 7)

   3≡1 (mod 7)  ,  

   4≡1 (mod 7)  ,  

   5≡1 (mod 7)  ,  

   6≡1 (mod 7)  ,  

 さて、こんなことに気づきますね。

 位数はどれも、7−1=6 の約数です。
 (このようなことは、大学では「群論(ぐんろん)」というのでお勉強するのです。)

 そして、このことから次のフェルマーの小定理が出てくるのです。

 


  ≪フェルマーの小定理≫

     整数a が 素数p でわりきれないとき

        ap−1≡1 (mod p)

 

 

 


● ふろく ●

 せっかくですから、

 1/7=1÷7=0.142857142857・・・・・

をもちいて、1/28 をやってみましょう。

     1       1  
     28 =  2×7 

             1×5  
        =  2×7×5 

             25  
        =  100×7 

             1      25
        =  100   ×  7

             1            4 
        =  100   × ( 3+ 7  

             1  
        =  100   × ( 3+4×0.142857142857・・・・・ 

             1  
        =  100   × ( 3+0.571428571428・・・・・ 

             1  
        =  100   × ( 3.571428571428・・・・・ 

        =  0.03571428571428・・・・・ 

 


HOME(もどる)

掲載内容の無断転載、転用、編集を禁じます。(c) 小林吹代
All Rights Reserved, (c)kobayashi fukiyo , 2001