小数循环节

把一个分数写成小数的形式,那么它要么是循环的,要么是非循环的,我们现在只讨论循环的情况。

定理:设b为一正整数,设正整数r,s满足,s=TU,其中T中的任意素因子整除b且(U,b)=1,那么

a的b进制展开式的循环节长度为,预循环的长度为N,其中N为满足的最小正整数。

定理看起来不是很直白,我们就拿十进制来说吧,比如一个数n的倒数化成小数,求它的循环节长度。

那么,我们可以这样,对于n我们先除掉所有的2和5,得到一个数m,即,那么方程的最小正整

数解就是循环节的长度,关于这个方程,以前解过,就是先找的约数,然后枚举判断就行了,由于(10,m)=1,所以这

个方程一定有解的,然后预循环长度就是,预循环长度就是小数点后开始不参与循环的位数。对于其它进制的,一

样的方法,把10换了就行。

原文地址:https://www.cnblogs.com/keanuyaoo/p/3279778.html