这道题题意比较简单,给你一个被除数和除数,求出小数的表示形式,若循环,则把循环节用括号括起来。
用试除法来做,难点在于如何判循环节。若果判商的话,会比较麻烦,但如果判余数则会很简单。因为只要余数相同,则一定会出现循
环节。刚开始没想到判余数,就一直没做,后来查了些资料,恍然大悟。在查资料时发现关于循环节许多有意思的结论:
1、循环节的位数一定小于除数,最多也要比除数小1。
这一点很容易理解。因为余数总是比除数小,如果除数是ɑ,余数只能是1,2,3,…,ɑ-1,所以最多在除了ɑ-1位以后,继续除下去,余数肯定会重复出现,这样就形成了循环。
2、循环节的位数如果是偶数,把循环节分成位数相等的两段,两段对应数字的和一定是9(不能证明)。
比如,循环节“142857”可以分成“142”和“857”两段,1+8=9,4+5=9,2+7=9。循环节“90”可以分成“9”和“0”两段,9+0=9。循环节“0434782608695652173913” 可以分成“04347826086”和“95652173913”两段,0+9=9,4+5=9,3+6=9,4+5=9,7+2=9,8+1=9,2+7=9,6+3=9,0+9=9,8+1=9,6+3=9。
3、一个最简真分数q/p,如果分母p能够整除一连串最少n个9,用所得的商乘分子q,得数(应该有n位,不足n位时在前面补0)就是这个最简真分数化成纯循环小数时的循环节。
证明:假设有一个纯循环小数x=0.ɑ1ɑ2ɑ3ɑ1ɑ2ɑ3…。由此可以推出1000x=ɑ1ɑ2ɑ3.ɑ1ɑ2ɑ3ɑ1ɑ2ɑ3…,1000x-x=ɑ1ɑ2ɑ3,999x=ɑ1ɑ2ɑ3,x=ɑ1ɑ2ɑ3/999。说明这个纯循环小数可以化成分数,分子就是它的循环节,分母是与循环节位数相同的一连串3个9。把这个分数化成最简分数,ɑ1ɑ2ɑ3/999=q/p,于是ɑ1ɑ2ɑ3=999q/p,ɑ1ɑ2ɑ3在形式上是整数,而q不能被p整除,所以999就一定能被p整除,因此ɑ1ɑ2ɑ3=999÷p×q。并且因为ɑ1ɑ2ɑ3有3位,得数也应该有3位,不足3位时就要在前面补0。这样就找到了确定循环节的方法。
以上结论摘自 伏枥老骥的博客
程序代码: