- 辗转相除法求最大公约数和最小公倍数
#include<iostream.h>
void main(){
int a,b,c,m,t;
cin>>a>>b;
if(a<b){
t=a;
a=b;
b=t;
}
m=a*b;
c=a%b;
while(c!=0){
a=b;
b=c;
c=a%b;
}
cout<<"最大公约数:"<<b<<endl;
cout<<"最小公倍数"<<m/b<<endl;
}
- 辗转相减法求最大公约数与最小公倍数
#include<iostream.h>
void main(){
int a,b,m;
cin>>a>>b;
m=a*b;
while(a!=b){
if(a>b)
a=a-b;
else
b=b-a;
}
cout<<"最大公约数:"<<a<<endl;
cout<<"最小公倍数:"<<m/a<<endl;
}
- 穷举法求最大公约数与最小公倍数
#include<iostream.h>
void main(){
int a,b,m,t;
m=a*b;
if(a<b)
t=a;
else
t=b;
int i;
for(i=t;i>0;i--){
if(a%i==0&&b%i==0)
break;
}
cout<<"最大公约数:"<<i<<endl;
cout<<"最小公倍数:"<<m/i<<endl;
}