2017.12.19

来源:互联网 发布:做淘宝直播怎么找商家 编辑:程序博客网 时间:2024/05/21 18:36

欧几里得算法:辗转相除法(高中就学了。。。)

百度百科:
两个数的最大公约数是指能同时整除它们的最大正整数。[1]
设两数为a、b(a≥b),求a和b最大公约数 的步骤如下:
(1)用a除以b(a≥b),得 。
(2)若 ,则 ;
(3)若 ,则再用b除以 ,得 .
(4)若 ,则 ;若 ,则继续用 除以 ,……,如此下去,直到能整除为止。
其最后一个余数为0的除数即为 的最大公约数。

int GCD(int a,int b){return b==0?a:GCD(b,a%b);}