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

分数的循环节

rs 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

显然: sbn

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

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

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

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

下面证明 n 是其长度。

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

αbn=i=1ncibni+i=1lcn+ibi

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

如果 α 是循环的。

记: s=cd db c 的每一个素因子也是 b 的素因子。

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

n 为: cbn 最小的 n

hc=bn

bn×rs=hrd

A+ed=hrd

显然 ed ,这是因为: e=hr mod d rd bd

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

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

现在计算循环节长度。

因为:

A+ed=bni1cibi=i1cibni+bni>ncibi

因为

bni>ncibi<1

所以:

ed=bni>ncibi

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

则:

bv=td+1

则:

bved=(td+1)ed=te+ed=bn+vi>ncibi=i=n+1n+vcibn+vi+bn+vi>n+vcibi=i=n+1n+vcibn+vi+bni>nci+vbi

所以:
bni>ncibi=bni>nci+vbi

所以:
ci=ci+v

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

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

α=c1b1+c2b2+..+cmbm+j01bjk(cm+1bm+1+...+cm+kbm+k)

j01bjk=j0(1bk)j(1j)=111bk=bkbk1

α=c1b1+c2b2+..+cmbm+bkbk1(cm+1bm+1+...+cm+kbm+k)=c1bm1+c2bm2+...cmb0+cm+1bk1+cm+2bk2+...+cm+kb0bm(bk1)=rcd

因为 db 。所以 cbm ,这于 n 的定义矛盾。

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

你可能感兴趣的:(刷题小结)