根据正常逻辑计算,按照数学上化简方式处理;
#include <iostream> #include <vector> using namespace std; int main() { int a,b; cin>>a>>b; vector<int> vec; while(true) { if(a%2 == 0 && b%2==0) { vec.push_back(2); a=a/2; b=b/2; } else if(a%3 == 0 && b%3==0) { vec.push_back(3); a=a/3; b=b/3; } else { vec.push_back(a); vec.push_back(b); break; } } int res=1; vector<int>::iterator it; for(it=vec.begin();it!=vec.end();it++) { res *=*it; } cout<<res<<endl; }