//采用辗转相除法的方式求素数,求出最大公约数, //然后,最小公倍数=m*n/最大公约数。 #include<iostream> #include<iomanip> using namespace std; int gcd(int m,int n); int icm(int m,int n); int main() { int m,n; cout<<"输入2个整数"<<endl; cin>>m>>n; cout<<"最大公约数为:"<<endl; cout<<setw(5)<<gcd(m,n)<<endl; cout<<"最小公倍数为:"<<endl; cout<<setw(5)<<icm(m,n)<<endl; return 0; } int gcd(int m,int n) { int temp=0,d;//temp为暂时存放值,d为求余值 if(m<n) { temp=m; m=n; n=temp; } while(d=m%n) { m=n; n=d; } return n; } int icm(int m,int n) { int i=gcd(m,n); return (m*n)/i; }