辗转相除法:
辗转相除法是利用以下性质来确定两个正整数
a和b的最大公因子的:
1.若r是a÷b的余数,则gcd(a,b)=gcd(b,r)
2.a和其倍数之最大公因子为a。
3. 0 可以除尽任何数,所以0和任何数的最大公约数都是那个“任何数”
另一种写法是:
1.a÷b,令r为所得余数(0≤r<b)。若r=0,算法结束;b即为答案。
2.互换:置a←b,b←r,并返回第一步。
设a、b两值的最小公倍数为lcm(a, b), 则对于两个正整数a、b。有:
gcd(a, b) * lcm(a, b) = a * b
即,lcm(a, b) = a * b / gcd(a, b)
代码:
#include<iostream>
#include<vector>
using