#include <stdio.h>
int fun(int m,int n);
int fun1(int m,int n);
void main(){
int m,n;
do{
scanf("%d%d",&m,&n);
}while(m<=0||n<=0);
printf("%d,%d最大公约数是%d\n",m,n,fun(m,n));
printf("%d,%d最小公倍数是%d\n",m,n,fun1(m,n));
}
int fun(int m,int n){
int r,t;
if(m<n){
t=m;m=n;n=t;
}
while(n!=0){//辗转相除法
r=m%n;
m=n;
n=r;
}
return m;
}
int fun1(int m,int n){ //暴力破解法
int result;
for(result=1;;result++){
if(result%m==0&&result%n==0){
break;
}
}
return result;
}
当输入9 12
输出结果为:
关键点在于理解何为辗转相除法、暴力破解。