答案:
1.利用辗转相除法:首先定义一个变量t来存m取余n,注意:要保证m是最大的
2.每取余一次,把n放入m中,把t放入n中
3.当n=0时,循环结束,此时m中的数即为最大公约数。
4.最小公倍数等于原来的m*n/最大公约数。
#include <iostream>
using namespace std;
int main()
{
int m,n,t,temp,max,min,x;
cout<<"Please input m,n:";
cin>>m>>n;
x=m*n;
if(m<n)
{
temp=m,m=n,n=temp;
}
while(n!=0)
{t=m%n;
m=n;
n=t;
}
max=m;
min=x/max;
cout<<"the highest common factor of m,n is:"<<max<<endl;
cout<<"the lowest common multiple of m,n is:"<<min<<endl;
return 0;
}