循環小数

提供: testwiki
2024年9月12日 (木) 01:57時点におけるimported>みそがいによる版 (神原健人 (会話) による ID:101810635 の版を取り消し Wikipedia:スタイルマニュアル#段落)
(差分) ← 古い版 | 最新版 (差分) | 新しい版 → (差分)
ナビゲーションに移動 検索に移動

テンプレート:注意

テンプレート:Math の小数表示( テンプレート:Math)。テンプレート:Math は基数 テンプレート:Math約数には含まれないため、テンプレート:Math は十進法で循環小数となる。

テンプレート:読み仮名 ruby不使用とは、小数点以下のある桁から先で同じ数字の列が無限に繰り返される小数のことである。繰り返される数字の列を循環節という。

循環小数の循環節は上線(テンプレート:Math)や下線(テンプレート:Math) などを用いて示される(#表記法を参照)。

循環小数は、基数と共通でない因数を含む分母を持つ整数分数に対応する。例えば基数を テンプレート:Math とした場合、テンプレート:Math, テンプレート:Math などは循環小数にならないが、テンプレート:Math, テンプレート:Math は循環小数となる。

また循環小数は、対応する分数の分母と基数が互いに素かどうかで分類でき、分母と基数が互いに素なものを純循環小数テンプレート:Efn2、それ以外のものを混合循環小数テンプレート:Efn2と呼ぶテンプレート:Sfn。また整数分数の分母が基数の素因数の積となる場合、それは循環小数とならず有限小数で表されるテンプレート:Sfn

ある循環小数の循環節が小数第一位から始まる場合、それは純循環小数となり、循環節が小数第二位以降で始まる場合、それは混合循環小数となる。混合循環小数は冒頭の循環していない有限小数部分とそれ以降の循環小数の二つに分離して考えることができるテンプレート:Sfn

循環節

循環小数の循環節とは、小数部分の周期的な数列の中で最小の長さものである。例えば テンプレート:Math は、数列 33 や数列 333 が連続して現れる小数と見なせるが、循環節は最小の数列 3 となる。

循環節の末尾は 0 になり得る。例えば、 テンプレート:Sfrac = テンプレート:Sfrac = 2.370370… の循環節は 370 となる。

循環節の先頭は小数第二位以降に現れ得る。例えば、十進法の テンプレート:Sfrac = 0.04629629… の循環節は、小数第三位からの 629 となる。

ある数が有限小数で表せるかは基数に依存し、既約分数の分母が基数のを割り切れる場合のみ、その数は有限小数として表され得る。したがって、ある既約分数が循環小数で表示されるかもまた基数に依存している。例えば テンプレート:Sfrac は、十進法では有限小数 0.2 で表されるが、二進法では循環小数 0.00110011… で表される。

また有限小数は、末尾の桁の後ろに 0 を無限に並ぶと見なせば、形式的に循環小数と見なせる。同様に、0.999... などの数列を用いて、有限小数を循環小数に書き換えることもできる。

他の小数との比較

有限小数

循環小数(無限小数)の循環節が「0」もしくは「9」の場合は、どちらも実質的には有限小数となる。一般に、正の実数について、有限小数は二種類の循環小数で表せ、逆に、二通りに小数表示できるのはその一方が有限小数である場合に限る。

一つには、循環節は 0(0桁という意味でなく、繰り返し単位が「0」)と考えることができる。もう一つは、有限小数の(0 でない)末尾を 1 減らし、それよりあとの位を全て「基数 − 1」にするというものである。

例えば、1 は 1.0000… と表せ、これは循環節が 0 の循環小数である。一方、末尾の 1 を 1 減らして 0 にし、それよりあとを全て 9 にした 0.999... に等しいとも考えられる。これは循環節が 9 の循環小数となる。

0.9999… = 1 は以下のように証明できる。

テンプレート:Math2とする。
テンプレート:Math2
テンプレート:Math2
テンプレート:Math2
テンプレート:Math

同じく、十二進法テンプレート:Sfrac は小数表示が 0.4 であるが、これは 0.4000… ということであり、循環節が 0 の循環小数である。一方、0.3BBB… とも考えられ、これは循環節が B十一)の循環小数となる。

同様に、二十進法テンプレート:Sfrac も通常 0.4 と表すが、これは 0.4000… ということであり、循環節が 0 の循環小数である。一方、0.3JJJ… とも考えられ、これは循環節が J十九)の循環小数となる。

有理数が有限小数表示を持つのは、十進法表示なら、分母の素因数が 2, 5 のみであるときに限る。一般の [[位取り記数法|テンプレート:Mvar進法]]表示では、分母の素因数が テンプレート:Mvar の素因数になっていることである。例えば、十八進法なら分母の素因数が 2, 3 のみであるときである。

無理数

循環小数によって表される数は、整数の分数としても表すことができ、有理数に含まれる。他方、有限でない非循環小数で表される数が存在し、これらは有理数に含まれない。実数のうち有理数に含まれない数を無理数というテンプレート:Sfn。無理数の例には2の平方根円周率が挙げられる。前述の通り有限小数も循環小数で表すことができ、有理数はすべて循環小数で表せるが、反対に循環小数で表せる実数は有理数に限るテンプレート:Sfn

表記法

循環節を示す方法として以下の方法がしばしば用いられる:

規約として、循環節は小数部から始まるようにする。例えば テンプレート:Mathテンプレート:Math とは書かない。

分数表現との関係

無限小数は、厳密には極限の概念を用いて定義される。特に、循環小数が表す数は無限等比級数、すなわち等比数列の和の極限と見なすことができ、ゆえに有理数である。例えば、

2.4˙23˙=2+423103+423106+423109+=2+4231031=2+47111=269111

である。

一般には、冒頭の循環していない有限小数部分を分離し テンプレート:Mvar とおき、循環部分の循環節の部分だけ取り出した小数部分を テンプレート:Mvar、循環節の長さを テンプレート:Mvar とすれば

a+b(1+110n+1102n+1103n+)

となる。ところで、級数部分の総和は

11110n=10n10n1

であるから

a+b(10n10n1)

となることが分かる。この方法をロバートソン (J.Robertson, 1712-1776) の方法というテンプレート:Sfn

やや厳密さに欠ける説明として、以下のようなものがある。

x = 2.423423423…

とおく。両辺を1000倍すると、「1000倍すると小数点は3桁右に移動するから」

1000x = 2423.423423…

辺々引くと「循環部分が打ち消しあって」

999x = 2421

となる。よって、x = テンプレート:Sfrac が分かる。「 」の主張が正しいことが曖昧であるが、無限等比級数の値の計算と同等であることからこの計算は正当化される。

循環節の長さ

自然数の逆数の循環節の長さについて、ある長さとなるような最小の自然数を、循環節の長さを0から小さい順に並べると

1, 3, 11, 27, 101, 41, 7, 239, 73, 81, 451, 21649, 707, 53, 2629, 31, 17, 2071723, 19, 1111111111111111111, 3541, 43, 23, 11111111111111111111111, 511, 21401, 583, 243, 29, 3191, 211, 2791, 353, 67, 103, 71, 1919, 2028119, 909090909090909091, …

である(テンプレート:OEIS)。

素数の逆数

2 と 5[1](一般には、基数の約数たる素数)以外の素数 テンプレート:Mvar の逆数の循環節の長さは、テンプレート:Math2約数である。有限小数の循環節の長さを1とするなら、2 と 5(基数の約数たる素数)もこの条件を満たす。

このことは、テンプレート:Math の循環節の長さが テンプレート:Mvar であることと、テンプレート:Math同値であることから、初等的な群論より導かれる。

これがちょうど テンプレート:Math となるような素数 テンプレート:Mvar は、小さな順より(2 と 5 を除いて)

7, 17, 19, 23, 29, 47, 59, 61, 97, …

である(テンプレート:OEIS)。このような テンプレート:Mvar に対する テンプレート:Math の循環節は、巡回数となる。 例えば、テンプレート:Math の循環節 142857 や、テンプレート:Math の循環節 0588235294117647 は巡回数である。素数を、分母とする数の循環節が奇数のものと偶数のものに分けると、テンプレート:Math が偶数、テンプレート:Math が奇数である。

一般の有理数

[[位取り記数法|テンプレート:Mvar進法]]表示においてq桁の、レピュニット111...と999...(一般にはNq-1)の逆数の形の循環節の長さはq桁である。また有理数を整数倍したり、分母の数に対して基数に含まれる素因数を掛けた場合、循環節の長さが増すことはない。

N進法による差異

必ず循環小数になる例

N進法表示において、テンプレート:Math の小数は必ず 0.1111… になる。九進法の場合 [[1/8|テンプレート:Sfrac]] が 0.1111… になり、十進法の場合 [[1/9|テンプレート:Sfrac]] が 0.1111… になる。

循環節が短くなる例

循環節の短さは、10 −1 ならびに 10テンプレート:Sup − 1 を素因数分解した時にどんな数が来るかによって決まる。

循環節の求め方

定義に則った方法

最も素朴には、充分な桁数の小数表記を求め、その周期を見つける。同様に、有限小数の桁数も、素因数分解した時の大きい方の冪指数によって決まる。

ただし、同じ数字の並びが現れてもより長い周期の一部かもしれない(たとえば テンプレート:Sfrac = 0.1212123 の循環節を 12 と求めてしまうかもしれない)ので、循環節の長さの上限を事前に知っておかなければならず、それだけの桁数まで求めて初めて、循環節を求められる。上限としては#一般の有理数にて挙げたものがあるほか、「分母 − 1」が使える。

例1
十進数の テンプレート:Sfrac の循環節は、素因数分解すると3456 = 2テンプレート:Sup×3テンプレート:Sup なので、7桁の後に3桁の循環節が来る。よって、テンプレート:Sfrac = 0.0002893518… となる。
一方で、十進数の 3456 は六進数の場合 24000 だが、素因数分解すると 24000 = 2テンプレート:Sup×3テンプレート:Sup となるので、分子が 3テンプレート:Supで、11テンプレート:Sub桁 = 7桁の有限小数になる。よって、テンプレート:Sfrac = 0.0000213 となる。
例2
十進数の テンプレート:Sfrac の循環節は、891 = 3テンプレート:Sup×11 なので、3テンプレート:Supテンプレート:Sfrac の循環節の長さを掛けたものになる。十進数では 3テンプレート:Sup は 3テンプレート:Sup 桁、テンプレート:Sfrac は2桁の循環節なので、3テンプレート:Sup×2 = 18テンプレート:Sub桁の循環小数になる。よって テンプレート:Sfrac = 0.001122334455667789… となる。
一方で、十進数の 891 は十八進数の場合 2D9 で、素因数分解は 2D9 = 3テンプレート:Sup×B となる。10 = 2×3テンプレート:Sup なので、テンプレート:Sfrac の循環節は 10テンプレート:Sub桁に対して、3テンプレート:Sup は 4桁ではなく2桁に縮まり、2桁の後に 10テンプレート:Sub桁の循環節が来る。よって、テンプレート:Sfrac = 0.0069ED1B834G… となる。

筆算

割り算筆算で求めれば、余りに同じ数が現れた時点で、繰り返しに入ったことがわかる。例えば、十進法テンプレート:Sfrac を小数表示する場合、次のような計算を行う。

        0.142857
    7 ) 1.000000
          7
          30
          28
           20
           14
            60
            56
             40
             35
              50
              49
               1

これ以降は同じ計算の繰り返しとなるので、テンプレート:Sfrac = 0.142857 であることが分かる。この例では、1 を 7 で割った商と余りを計算することを繰り返している。

別のN進法でも、筆算によって循環小数が現れる。六進法テンプレート:Sfrac(= 5テンプレート:Sup = 十進法の テンプレート:Sfrac)を筆算で小数表示する場合、次のような計算を行う。

       0.01235
  41 ) 1.00000
         41
         150
         122
          240
          203
           330
           325
             1

これ以降は同じ計算の繰り返しとなるので、テンプレート:Sfrac = 0.01235 であることが分かる。この例では、整数を 41 で割った商と余りを計算することを繰り返している。

被除数が1以外の場合も、同じように筆算で循環小数が現れる。割り切れる例も併載する。例として、被除数を 2テンプレート:Sup、除数を 3テンプレート:Supとする。

十六進法の 100 ÷ 1B(2テンプレート:Sup ÷ 3テンプレート:Sup、十進法の場合 256 ÷ 27

           9.7B425ED097B
    1B ) 100.00000000000
          F3
           D 0
           B D
           1 30
           1 29
             70
             6C
              40
              36
               A0
               87
               190
               17A
                160
                15F
                  100
                   F3
                    D0
                    BD
                    130
                    129
                      7

被除数が除数より大きい例だが、整数部分を含めて「97B」が2回現れているので、これ以降は同じ計算の繰り返しとなり、100÷1B = 9.7B425ED09 となり、小数部分は9桁の「7B425ED09」が繰り返されることが分かる。この割り切れない「0.7B425ED09」を分数化すると、十六進法で テンプレート:Sfrac、十進法で テンプレート:Sfrac となる。

六進法の 1104 ÷ 43(六進冪指数の場合 2テンプレート:Sup ÷ 3テンプレート:Sup、十進法の場合 256 ÷ 27)

          13.252
   43 ) 1104.000
         43
         234
         213
          21 0
          13 0
           4 00
           3 43
             130
             130
               0

小数部分が3桁の「252」で終わって、1104÷43 = 13.252 となる。割り切れる小数「0.252」に相当する六進分数 テンプレート:Sfrac は、十六進法で テンプレート:Sfrac、十進法で テンプレート:Sfrac となり、既約分数にすると六進法で テンプレート:Sfrac、十六進法で テンプレート:Sfrac、十進法で テンプレート:Sfrac となる。

一般に、ab で割る筆算では、ある整数を b で割った商と余りを計算することを繰り返すが、b で割った余りは 0 から b − 1 の b 通りしかないため、余りが 0 になって計算が終わるのでなければ、必ずどこかで同じ余りが出現して同じ計算の繰り返しとなる。ゆえに、有理数を小数表示すると循環小数になる。この方法では循環節の長さの上限を事前に知っておく必要はないが、「分母 − 1」以下であることがこれによりわかる。

素数の逆数の場合

基数に素因数として含まれない素数 p の逆数に対しては、循環節を m 桁とすると 10テンプレート:Sup - 1 は p で割り切れ、商が循環節となるので、p - 1 の約数それぞれに対し 10テンプレート:Sup - 1 が p で割り切れるかを試せばよい。m が小さい順に試せば、計算量を節約できる(たとえば テンプレート:分数 = 0.333… に対しては 3 (m = 1) も 33 (m = 2) もこれを満たすので、小さい順でなければならない)。

注釈

テンプレート:Notelist2

出典

テンプレート:Reflist

参考文献

関連項目

外部リンク