利用短除法来计算最大公约数和最小公倍数。令最大公约数为共产党,最小公倍数为lcm;
原理:假如输入m=12 n=18,初始化最大公约数为gcd=1.
2 是12和18的一个公因子
我们令m/=2 n/=2,gcd=gcd*2;此时m==6,n==9 gcd==2 不难发现3又是他们的一个公因子;
令m/=3 n/=3,gcd*=3; 此时m==2,n==3 gcd==6 找不到除了1以外2与3的公因子了;
所以gcd=6就是俩数的最大公约数,而lcm=gcd*m*n;
下面直接看代码吧!