//最小公倍数
#include<bits/stdc++.h>
using namespace std;
int main(){
int n,m ;
cin>>n>>m;
if(n>m){
swap(n,m);//我这里这里保证前小后大,但前后大小可以有选择,与后面代码相关联
}
int r;
int p;
p = n * m;
while(n>0){
r = m % n;
m = n ;
n = r ;
}
cout<< p / m <<endl;
return 0;
}
//最大公约数
#include <bits/stdc++.h>
using namespace std;
int main() {
int n, m;
cin >> n >> m;
if (n < m) {
swap(n, m); //我这里保证前大后小--m小n大,同最小公倍数一样
}
int c;
while (m > 0) {
c = m;
m = m % n;
n = c;
}
cout << n << endl;
return 0;
}
对于辗转相除法,我建议大家可以通过模拟来归纳总结,这样有助于大家理解这个方法的实现
于此同时,最大公约数可以通过函数来求得
int res = __gcd(4, 8); // 使用辗转相除法, 返回4
// ps: 前面是两条下划线