#include<iostream>
#include<algorithm>
using namespace std;
#define ll long long
ll lcm(int a,int b){
return (a*b)/__gcd(a,b);
}
int main(){
ll a,b;
cin >> a >> b;
cout << __gcd(a,b) << " " << lcm(a,b);
return 0;
}
传送门:最大公约数和最小公倍数 - 洛谷
最大公约数(辗转相除
#include<iostream>
using namespace std;
int gcd(int a,int b){
if(b==0)return a;
return gcd(b,a%b);
}
int main(){
int a,b;
cin >> a >> b;
cout<<gcd(a,b);
}
#include<iostream>
using namespace std;
int gcd(int a,int b){
if(b==0)return a;
//递归写法返回a
return gcd(b,a%b);
}
int main(){
int a,b;
cin >> a >> b;
int r=0;
while(r=a%b){
a=b;
b=r;
}
//返回b
cout<<b;
}