标签:水题
思路:一个一个的找,因为c不等于b 且b是(a, c)的最大公约数, 所以c是b的整数倍, 每找到一个c就判断与 a的最大公约数是不是b,不是的话,就继续
刚开始的时候 居然把gcd非递归形式忘了。。。也没想用递归形式。。
2 6 2 12 4
4 8
#include<stdio.h>
int gcd( int a, int b )
{
int t = a%b;
while( t ){
a = b;
b = t;
t = a%b;
}
return b;
}
int main()
{
int t, a, b, c, i;
scanf( "%d", &t );
while( t -- ){
scanf( "%d%d", &a, &b );
for( i = b+b;;i+=b )
if( b == gcd(a, i ) )
break;
printf( "%d\n", i );
// printf( "%d\n", gcd(a, b) );
}
}#include<stdio.h>
int gcd(int a, int b)
{
if(b == 0) return a;
else
return gcd(b, a%b);
}
int main()
{
int t, a, b, c;
scanf("%d", &t);
while(t --){
scanf("%d%d", &a, &b);
c= b*2;
while(gcd(a, c) != b){
c+=b;
}
printf("%d\n", c);
}
return 0;
}hdoj 2504 又见GCD 【GCD判定】,布布扣,bubuko.com
标签:水题
原文地址:http://blog.csdn.net/shengweisong/article/details/38168921