最大公约数与最小公倍数
#include<bits/stdc++.h> using namespace std; long long gcd(int a,int b) { return b?gcd(b,a%b):a; }//欧几里得算法 long long lcm(int a,int b,long long gcd1){ gcd1=gcd(a,b); return a/gcd1*b;//先除后乘 } int main(){ int a,b; cin>>a>>b; int gcd1=gcd(a,b); long long lcm1=lcm(a,b,gcd1); cout<<gcd1<<" "<<lcm1; }#include<bits/stdc++.h> using namespace std; long long gcd(int a,int b){ while(b!=0){ int temp=b; b=a%b; a=temp; } return a; }//辗转相除法 long long lcm(int a,int b,long long gcd1){ gcd1=gcd(a,b); return a/gcd1*b; } int main(){ int a,b; cin>>a>>b; int gcd1=gcd(a,b); long long lcm1=lcm(a,b,gcd1); cout<<gcd1<<lcm1; }