点上方超级数学建模可加关注
传播数学干货,学会理性的方式去思考问题
为什么有理数一定能表示为一个有限小数或无限循环小数,以及怎么把一个无限循环小数化为它的既约分数形式?
不知道如何证明如果有理数化成小数形式如果是无限小数,那么它一定是循环的。碰到 0.168831 168831 168831... 怎么知道它作为分数是什么?
一、问题重述
要证明:有理数=有限小数 无限循环小数,咱们首先来做几个说明:
有理数又称为比例数,因此有理数和分子分母是整数的分数是等价的。每个有理数都有一个既约分数和它对应,既约分数是指分子和分母不仅是整数,而且二者的最大公约数是1。
有限小数是有理数一定正确。
我们可以把需要证明的有理数的范围缩小到(0, 1)之间,如果在这个范围内结论成立,那么推广到全部有理数上结论也成立。
无限循环小数是形如
为了证明题目,需要证明下面两个结论:
-
无限循环小数一定是有理数。
-
有理数一定是有限小数或者无限循环小数。
二、证明无限循环小数一定是有理数
首先我们任取一个无限循环小数
因为分数/有理数的四则运算还是分数/有理数,所以为证明q是有理数,只需要证明
我们把循环节提出来,把 再分解一次:
后面的无限循环小数的循环节是连着k-1个是0,然后跟一个1,恰好满足:
原因是:
因此我们得到:
这样就证明了 是有理数。
三、证明有理数一定是有限小数或者无限循环小数
我们随便拿来一个既约真分数
思路:
因为由上面的分析我们知道
交叉相乘,得到
构造:
对任意,我们定义一个数
同余除法有一点点复杂,经过一定计算我们可以得到一个递推公式:
继续推导可以得到一个一般递推公式:
因为一个数除以b的余数只能是0到b-1之间的b个整数,一共只b种可能,因此不断把k增大,一定有某两个f的值相同了。咱们不妨就假设
因此是
虽然这并不能说能整除其中一个(除非是素数),但是可以说能分解成两部分,各整除其中一部分:我们令
,进而由 既整除 又整除 得到 能够整除
因此我们得到:
咱们令
则可以得到:
和上一节的结论一比较,就可以知道这一定是一个有限小数或循环小数之。由于分数a、b的选择是任意的,证明完毕。
via:王小龙(知乎)
超级数学建模,每晚零点,风雨无阻
专注数学、数据、数模干货
商务合作请zxn19921018