#include <iostream>
#include <cmath>
using namespace std;
int main() {
int a, b;
while (cin >> a >> b) { // 注意 while 处理多个 case
if(a>b) swap(a,b);
if(b%a==0||1==a) {cout<<b<<endl; break;}
int i=2,sum=1;
while(i<=pow(a,2)){//从较小的一个数中找质因数
if(0==a%i) {
while(0==a%i) {
a/=i,sum*=i;//sum保存当前所有质因数的积
if(b%i==0) b/=i;//保证b中不包含与a相同的质因数
if(b%a==0) {sum*=b; continue;}//当b能整除a时,说明a中所有因数必定包含在b中
}
}
++i;
}
cout << sum << endl;
}
}

京公网安备 11010502036488号