一个奇怪的“定理”    六年8班   黄思睿

发布人:新闻 发布日期:2020-01-17

一个奇怪的“定理”

   六年8班   黄思睿

        曾经,在学最大公因数和最小公倍数时,我一直想找到一个比老师教的更简单的方法来求最大公因数和最小公倍数。有一天,我突发奇想,是不是最大公因数和最小公倍数都与这两个数之差有关?我想来想去,发现了两个有可能成立的方法:

1:用于求最大公因数(a>b)令x=a-b  y是任意自然数(0除外),让y最小,且y×b/x为整数,则[a,b]=x/y。如a=217,b=107,则x=217-107=110。要让110|107y,y最小为110。所以[a,b]=x/y=110/110=1。

2: 用于求最小公倍数(a>b)令x=a-b  y是任意自然数(0除外),让y最小,且y×b/x为整数,令得数为z,则(a,b)=a×z。如a=217,b=107,则x=217-107= 110。要让110|107y,y最小为110,(110×107)/110=107,则z=107。所以(a,b)= a×z= 217 × 107=23219。

        我当时把这俩定理写在纸上,塞进桌子里,觉得没啥用。因为对我来说这和学校教的方法速度差不了多少,学校方法还更好理解。我就把它们当作写来玩。

       后来学了JAVA编程,我才明白这个东西的意义。或许对于我们来说,数感能够代替掉这一个公式,但对计算机来说,就不一样了。如果按我们学的方法,对计算机来说就得一个一个试,得试很久,万一这a,b十分大,且有很大差距,那就会算得很慢。

       如今,我把这个东西翻出来,证明一个这个“定理”。

       先令x=a-b,大家都知道[a,b]一定小于x,假如x<[a,b],那么a,b的差会大于x。并且[a,b]一定是x的因数。为什么呢?我们先 设[a,b]为z,则a÷z......0,b÷z......0,a-b也就是x÷z......0。既然x÷[a,b]整除,那x就是[a,b]的倍数。b÷z必然整除,因为一个数除自己的因数必然整除。所以我们要用b÷x看一下事实上x的因数在b里面有没有。如果有,那最好了。问题是要是没整除,用b×y÷x得到整数y最小,用y其实是在补其在x中有但b中没的因数,这么说y本来就不应该有,所以要x÷y得到[a,b]。

      至于最小公倍数根据前证法倒推,也可以得到。

      经过一些验证,我意外地发现这和辗转相除法很像,看来我发现的这个“定理”古人早就发现了!