此问题虽然简单,但由于涉及到部分数学内容,却也十分烧脑,下面博主解决该问题将采用一种方法——辗转相除法。
两个数的最大公约数等于其中较小的数字和二者之间余数的最大公约数,这就是辗转相除法,为了更便于理解,我们用式子来表示以下
所谓辗转相除法,就是当要求a,b两个数的最大公约数时,如果c=a%b!=0时,我们便使用b%c来获得新的d,若此刻d=0,c便是a,b最大公约数,若不为0,便接着使用c%d获得新的余数,直到余数为0后,我们便得到了最大公约数;
如:
在明白了这点后,我们便可以试着使用代码来实现该功能了