不管是在学习或者生活中,我们经常会遇到要求两个数的最大公约数的问题。
最大公约数
那么,什么是公约数?什么是最大公约数?
公约数,顾名思义,就是能被两个数同时整除的一些数。而最大公约数就是这些数中的最大值。
举个例子,比如我们要求96和50的最大公约数。
应该怎么做呢?
首先,我们要将96和50分别进行质因式分解,也就是将它们写成质数乘积的形式。
那何为质数?
质数,又叫素数。指只能被自身和1整除的数。
那么96=2x2x2x2x2x3, 50=2x5x5
然后,找出质因式中二者共同的质数。对比上面两个式子,我们发现二者共同的只有2.
因此,96和50的最大公约数就是2.
如果两个数相同的质因数多于1个呢?那么最大公约数就是这些质因数的乘积。
再来举个例子,我们要求90和50的最大公约数。
90=2·3·3·5, 50=2·5·5
二者相同的质因数有2和5,因此它们的最大公约数就是2·5=10.
上面介绍的是我们传统的方法,好像也没什么问题,操作起来也简单。
但这只适用于比较小的数字,如果数字很大,那么用这种方法就会费时又费力。
这时,就需要用到一个世界上最古老的算法——欧几里得算法了。
欧几里得算法
欧几里