请问各位哪有问题orz
根本不需要循环啊,a和b的最小公倍数就是 a * b/最大公约数啊,比如这里a,b分别为6,9,最大公约数为3,那么最小公倍数就是6*9/3=18
int main()
{
int m,n,a,b,s,r;
cin>>m>>n;
s = m*n;
a = max(m,n);
b = min(m,n);
while(a%b != 0)
{
r = a%b;
a = b;
b = r;
}
cout<<"最大公约数为"<<b<<endl;
cout<<"最大公倍数为“<<s/b<<endl;
return 0;
}
因为小于等于a得数模a都为0
你应该从a和b中较大的一个开始遍历,或者直接用(a*b)/(最大公约数)来算
有帮助望采纳~