求大神们解答,大大的疑惑??!!

给定两个正整数m和n(小于1000000000),求两个正整数的最小公倍数。

我是先求最大公因数,再用两数乘积除以最大公因数得到结果。但是系统只给了50%的通过率,我实在是找不到哪了还有纰漏了。

#include<iostream>
using namespace std;
int main(){
	int a,b;
	while(cin>>a>>b){
		int c=a*b; 
		if(a!=b){
			while(a>b){
				a-=b;
			}
			while(a<b){
				b-=a;
			}
			}
			cout<<c/b<<endl;
		}
	
	return 0;
}

 

两个数的乘积是否溢出?  如果你先做除法呢?