想复杂了,一重循环就够了,两重循环会超时,还有要注意数据的大小,10的九次方的话int就存不下了,用long
#include<bits/stdc++.h>
using namespace std;
int main(){
long W,H;
cin>>W>>H;
long Maxgb=0;
int flag=0;
for(int i=2;i<=W;i++){
if(W%i==0&&H%i==0)
{Maxgb=i;
flag=1;
break;}
}
if(flag){
cout<<W*H/Maxgb/Maxgb<<endl;
}
else
printf("%d",0);
return 0;
}