题解
2025-03-26 20:37:48
发布于:北京
8阅读
0回复
0点赞
#include <bits/stdc++.h>
using namespace std;
int main(){
int t;
cin>>t;
while (t--){
int a,b,flag=0;
cin>>a>>b;
//遍历从a,b中较小值到1之间的数字
for (int i=min(a,b);i>0;i--){
//判断遍历到的数字是否是a,b的公约数
if (a%i==0&&b%i==0){
//flag增加,如果flag等于2,输出公约数打断循环
flag++;
if (flag==2){
cout<<i<<endl;
break;
}
}
}
//如果flag等于1说明没找到第二个公约数,输出-1
if (flag==1){
cout<<-1<<endl;
}
}
}
这里空空如也
有帮助,赞一个