hello,复习一下数学知识!算法
最大公因数,也称最大公约数、最大公因子,指两个或多个整数共有约数中最大的一个。数组
由于以前作一个小功能,须要先计算一下数组的最大公约数,因此我就想记录一下公约数的计算。3d
简单点,咱们用穷举法,这是咱们天然而然能够想到的方法,天然而然想到的方法老是效率会低一点。blog
而后咱们看看展转相除法, 又名欧几里德算法,是求最大公约数的一种方法。它的具体作法是:用较大数除以较小数,再用出现的余数(第一余数)去除除数,再用出现的余数去除第一余数,如此反复,直到最后余数是0为止。若是是求两个数的最大公约数,那么最后的除数就是这两个数的最大公约数。数学
展转相减法(求最大公约数),即尼考曼彻斯法,其特点是作一系列减法,从而求得最大公约数。例如 :两个天然数35和14,用大数减去小数,(35,14)->(21,14)->(7,14),此时,7小于14,要作一次交换,把14做为被减数,即(14,7)->(7,7),再作一次相减,结果为0,这样也就求出了最大公约数7效率
还有好比短除法,分解质因数法,须要计算因数,因此这样我以为太麻烦了,单是计算最大公约数,没有必要!方法