1/99..99×1/999..999 の循環節の長さ
http://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q10159439225

有理数を10進小数展開したときの最小の循環単位の長さを循環節の長さと呼ぼう
動機としては
循環節の長さが6の有理数を掛け合わせたとき
1/7*1/13 は 循環節6を持つが
1/7*1/7 だと循環節は42になる
では循環節6の有理数を掛け合わせたときの循環節はどのような値をとれるか
より一般に循環節の長さm,nの有理数を掛け合わせたときではどうか
・・・
有理数aの循環節の長さをg(a)で表記することにする
初等的な考察から例えば
[1] g(a)が6の約数 ⇔ ある整数Aが存在して a = A/999999
[2] p,qを整数、qを10と互いに素として、g(p/q)が6の約数 ⇔ 10^6≡1 (mod q)
のような同値がある
-----------------
循環節の長さが6の有理数を掛け合わせたときの循環節は
a=1/999999, b=1/999999 のときが一番最大になる。
その長さをMとおけば、すなわち整数Cが存在して ab=C/(10^M-1)
他の場合は[1]を使って
a=A/999999, b=B/999999 とおけるので ab=ABC/(10^M-1)
すなわち abの循環節の長さがとれる値は「Mの約数」と言える

一般の場合にも a=1/(10^m-1), b=1/(10^n-1) と特殊化して
g(ab)を求めることに意義があると考える

このとき結論を先に紹介すると、意外と統一的に記述できて、
【mとnの公倍数をdとして g(ab) = (mn/d)*(10^d-1) 】であるようだ
==================
説明を書いていくつもり
==================

整数論の一般論を引用する
(資料の1つの選択肢:既約剰余類がなす乗法群)

[3] p,q が互いに素の時
10^k≡1 (mod pq) ⇔ 10^k≡1 (mod p) かつ 10^k≡1 (mod q) 

[4] pが素数でqが1以上の整数のとき
10^k-1 がpでちょうどq回割り切れる
⇔ 10^(kp)-1 がpでちょうどq+1回割り切れる

後で有用に使える形に言い直しておく:

[3'] x1,x2,x3,... をXの約数とする
10^k≡1 (mod X) ⇒ 各jに対して10^k≡1 (mod xj)
逆に、⇒の右側を仮定する。Xの任意の素因子pについて
xjがpで割り切れる回数がXがpで割り切れる回数と等しいようなxjが存在するなら
10^k≡1 (mod X)が従う。

[4'] 10^k≡1 (mod p^q) を満たす最小のkがk=Kであり、
しかしそのとき10^k≡1 (mod p^(q+1))は成り立たない
⇒ 10^k≡1 (mod p^(q+r)) を満たす最小のkはk=K*p^rである

もう1つ準備
[補題] mとnの最大公約数をdとおく。10^m-1と10^n-1の最大公約数は10^d-1である。
[説明] 公約数であることはすぐに分かるから最大性を示せば良い
整数d'が10^m-1と10^n-1の公約数だとすると10^d-1の約数であることを示せば良い。
仮定より 10^m≡1 (mod d') かつ 10^n≡1 (mod d')
dがm,nの最大公約数であることから Am-Bn=d となる自然数A,Bが存在する。
このA,Bにより 10^Am = 10^Bn * 10^d (mod d') である
仮定と合わせて 10^d≡1 (mod d') が要求される。ここから結論が言える。

[本題]
K=10^d-1 = p1^k1*p2^k2*…*pm^km と素因数分解する
A=10^m-1 = KX, B=10^n-1 = KY とおく。
補題よりXとYが互いに素である

A,B,K,X,Y,d,m,nが素数pjで割り切れる回数を
それぞれaj,bj,kj,xj,yj,dj,mj,njとおく。

ここで[4]の構造より、
mがdよりpjで多く割り切れる回数と
AがKよりpjで多く割り切れる回数は一致し、A=KXと合わせて
mj-dj = aj-kj = xj の関係を得る。同様にして、
nj-dj = bj-kj = yj である。

X = X'*Πpj^xj, Y=Y'*Πpj^yj とおく。
AB = NNXY = N'X'Y' とおく。N',X',Y'は互いに素という設定となる。
N'=N^2*Πpj^xj*Πpj^yj=Πpj^(2*kj+xj+yj) である。

[3']により次の同値が成り立つ。
10^k≡1 (mod AB)
⇔ 10^k≡1 (mod N') かつ 10^k≡1 (mod A) かつ 10^k≡1 (mod B)
⇔ 10^k≡1 (mod N') かつ kはmの倍数 かつ kはnの倍数

10^k≡1 (mod N')
⇔ 各jについて 10^k≡1 (mod pj^(2*kj+xj+yj))
⇔ 各jについて kは d*pj^(kj+xj+yj) の倍数 ([4']を使った)
⇔ kは 各pjについては dj+kj+xj+yj回以上割り切れて、
 dが持つpj以外の素因子についてはdと同じ回数以上割り切れる。

ところが最後の後半の条件については、
「kはmの倍数 かつ kはnの倍数」の部分と総合する際に包含されてしまうので省ける。
---
これらを総合すると:
kは 素因子pjに関しては(dj+kj+xj+yj)回割り切れる必要がある
mが持つpj以外の素因子に関してはmと同じ回数だけ割り切れる必要がある。
nが持つpj以外の素因子に関してはnと同じ回数だけ割り切れる必要がある。

そこで (mn/d)*K という数を考えると、dj+kj+xj+yj=mj+nj-dj+kj が成り立つので、
ぴったりであることが確認できる。

戻る inserted by FC2 system