数论学习:分数循环节长度

分数的循环节

令 r⊥s 且 0<r<s ,对于分数

rs=0.c1c2c3...

的 b 进位制形式。有时候会出现循环情况。即:

存在一个 n,k 有:

ci+k=ci  ,其中:i>n , 0<ci<b

那么何时会出现循环。何时又不会呢?

显然:

α=rs=c1b1+c2b2+c3b3......

如果 α 不是循环的,那么必然存在一个数字 n 有:

αbn=c1c2c3..cn

显然: s∣bn

这也就是说。每一个整除 s 的素因子也整出 b .

那么符合上述条件的。最小的 n 必然是最小的。使得 s∣bn 的 n

即:当整除 s 的每一个素数都整除 b 时;

则: α 的 b 进制展开。小数点后面的长度为 n ,其中: n 为最小的使得 s∣bn 的数。

下面证明 n 是其长度。

如果 α 的展开长度为 n+l .那么有:

αbn=∑i=1ncibn−i+∑i=1lcn+ibi

因为 s∣bn ,所以 αbn 为整数。矛盾。得证。

如果 α 是循环的。

记: s=cd 且 d⊥b , c 的每一个素因子也是 b 的素因子。

这也就是说, c 是满足 c 的每一个素因子都是 b 的且是最大的

令 n 为: c∣bn 最小的 n

令 hc=bn

bn×rs=hrd

令

A+ed=hrd

显然 e⊥d ,这是因为: e=hr mod d 且 r⊥d 且 b⊥d

显然 d=1 时。 α 不循环。

当 d>1 时。
ed
必然循环。因为不存在整数 v 使得 d∣bv

现在计算循环节长度。

因为:

A+ed=bn∑i≥1cibi=∑i≥1cibn−i+bn∑i>ncibi

因为

bn∑i>ncibi<1

所以:

ed=bn∑i>ncibi

令: v=orddb ,即 v 为 b 模 d 意义的阶。( d⊥b )

则:

bv=td+1

则:

bved=(td+1)ed=te+ed=bn+v∑i>ncibi=∑i=n+1n+vcibn+v−i+bn+v∑i>n+vcibi=∑i=n+1n+vcibn+v−i+bn∑i>nci+vbi

所以:
bn∑i>ncibi=bn∑i>nci+vbi

所以:
ci=ci+v

现在证明: n 是自小预循环(证明了这一点自然而然就证明了v为最小循环节)

假设,存在更小的预循环 m ,且此时最小循环节为 k .则:

α=c1b1+c2b2+..+cmbm+∑j≥01bjk(cm+1bm+1+...+cm+kbm+k)

∑j≥01bjk=∑j≥0(−1bk)j(−1j)=11−1bk=bkbk−1

α=c1b1+c2b2+..+cmbm+bkbk−1(cm+1bm+1+...+cm+kbm+k)=c1bm−1+c2bm−2+...cmb0+cm+1bk−1+cm+2bk−2+...+cm+kb0bm(bk−1)=rcd

因为 d⊥b 。所以 c∣bm ,这于 n 的定义矛盾。

所以此时 α 的循环节为 orddb ,预循环节为 n .

阅读更多

更多精彩内容