最大公约数
- 辗转相除法
用较小的数 / 较大的数,得到余数
再用余数1 / 除数,得到余数2
余数2 / 余数1
反复执行,直到最后余数是0为止
最后的除数就是这两个数的最大公约数。
int a,b,c;
cin>>a>>b;
while(b){
c=a%b;
a=b;
b=c;
}
cout<<a<<endl;
- 最小公倍数
两数相乘
积再除最大公约数
int a,b,c,d;
cin >> a >> b;
d = a * b;
while(b){
c = a % b;
a = b;
b = c;
}
c = d / a;
cout << c << endl;