题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2504
题目大意:a、c最大公约数为b。已知a、b,求最小的c(c!=b)。
关键思想:枚举
代码如下:
//a,c最大公约数为b,已知a,b求最小c
#include <iostream>
using namespace std;
int gcd(int a,int b){
return a%b==0?b:gcd(b,a%b);
}
int main(){
int a,b,n;
while(cin>>n){
for(int i=0;i<n;i++){
cin>>a>>b;
int c=2*b; //b!=c,故初始化为2*b
while(gcd(a,c)!=b)c+=b;
cout<<c<<endl;
}
}
return 0;
}