刚学习了用三种方法求最大公约数

        首先,要知道公约数的定义。假如有两个数,如果有一个数能同时被这两个数整除,则这个数成为公约数,其中最大的就是所谓的最大公约数。其次,看两个数中较小的一个能否被较大的整除,如果可以,那么这个数就是最大公约数,要是不行,那么较小的数自减。而且最大公约数的值只会比其中较小的数小。

        方法一:
        
        方法二:
        辗转相减法,设最大公约数是Z,则这两个数各由若干个Z组成,求这两个数之差,得到的结果也是若干个Z的组合,再求这个结果和较小的数的差,同理还是若干个Z的组合……。一直这样下去,得到的最后一个结果只含有一个Z,那么这个Z的值就是最大公约数。
        
        方法三:辗转相除法
        其实辗转相减法的思路要是明了了再进一步就是辗转相除法。既然最大公约数能被两个数中任一个整除,它也可以被两个数的线性组合整除。即(mx±ny)%z==0。x和y都是z的倍数。有了这样的概念我们就可以得出x/y=n余c,即x=ny+c 也就是x-ny=c,那么毫无疑问,c也可以被z整除。一直除下去就可以了。
        
感谢浏览,欢迎提问!

猜你喜欢

转载自blog.csdn.net/ironman240/article/details/79778013
今日推荐