根据正常逻辑计算,按照数学上化简方式处理;
#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;
}

京公网安备 11010502036488号