题目链接: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; }