HDOJ 2504 [又见GCD]枚举

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

  

posted @ 2017-02-04 23:12  哇咔咔咔  阅读(267)  评论(0编辑  收藏  举报