第19回 循環小数 [ネコ騙し数学]
第19回 循環小数
少数(有限小数)は、10のべき乗を分母とする分数で、これを既約分数にすると、分母は2と5以外の素因数を含まない。
となり、分母は2と5以外の素因数は持たないというわけだケロ。
ちなみに、
の整数にゃ。
逆に、有限小数ならば、(nとmは非負の整数)という分数になるケロ。
それで、という(既約)分数があって、分母が2と5以外の素因数を持つとき、無限小数になるんだにゃ。
―――何故だろうか? これを読んだ人は、自分で考えてみるにゃ。―――
現に、
1/3 = 0.333・・・
という無限小数になる。
これはあまりに簡単なので、
になるにゃ。分母の74 = 2 × 37 と素因数分解できる、分母に2と5以外の素因数37を持っているから、無限小数になるケロ。
上の小数のようなものを循環小数と呼び、567のように繰り返される数字を循環節と呼ぶにゃ。
そして、循環小数は
といったように、循環節の両端の上に点を打ってあらわすケロ。
と書くのは、間違いにゃ。
循環節の両端の上に点を打つのが正しい表記だケロ。
では、問題をひとつ。
答えは19/74 ですが、これを無限級数(等比級数の無限級数)を使って求めようって話にゃ。
こういう風に求められる。
参考までに
というか、循環小数は、たとえば
とは、無限級数の極限、無限級数の和なんですにゃ。
こちらの方が正式な定義。
ですから、よく、「1と0.999・・・は違う」なんて言う人がいますが、これは循環小数の定義を誤解しているから、こういう話が出てくるにゃ。
あるいは、こう言ってもいい、
0.999・・・は、1を小数で表わしたものである!!
要するに、0.9に0.09を足せば、1に近づくだろう。0.99に0.009を足せば、もっと1に近づく。そして、こうした操作で得られる和の極限、上限が1であるということですにゃ。
ですが、こうした無限級数を使って循環小数を分数に直すのは大変なので、簡単に得られる方法を紹介するにゃ。
この問題は、ネムネコが高校時代に使っていた参考書の問題から引っ張り出した問題なので、ネムネコは実際にこの計算を一切していない。
どうやって、2565と9990の最大公約数を見つけ出したかが問題になる・・・。
この簡単な方法は、ユークリッドの互除法!!
ユークリッドの互除法のアルゴリズム
STEP1 N ÷M の余りをR
STEP2 R = 0 ならばMが最大公約数
STEP3 N ←M、M ← R にして、STEP1 に戻る
ネムネコは、九九を全部憶えていないので、四桁の数同士の割り算なんて出来ないにゃ!!
ということで、コンピュータに計算させるにゃ。
これまで何度も登場してきた十進BASICのプログラムは以下の通り。
REM ユークリッドの互除法
LET N = 9990
LET M = 2565
REM ユークリッドの互除法の計算はここから
DO
LET R = N - INT(N/M)*M
IF R = 0 THEN
PRINT "最大公約数";M
EXIT DO
END IF
LET N = M
LET M = R
LOOP
END
そうすると、2565と9990の最大公約数が135であることがわかり、
9990÷135 = 74
2565÷135 = 19
となり、確かに
となる。
コメント 0