此题自己被自己搞晕,以为是一个水题认为a和c的最大公约数是b,而要求c最小!那c肯定是2*b啦! 唯一要考虑的不就是a==2*b的时候!那c便等于3*b! 当WA了自己试了 a=24 b=4 c应该是20,而我的是 c=8。自己被自己蠢死…… 所以没有捷径可走,直接暴力解决。
import java.util.Scanner;
public class Main{
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
while (n-- > 0) {
int a = sc.nextInt();
int b = sc.nextInt();
int i = 2;
while (true) {
if (isgcd(a, b * i, b)) {
break;
}
i++;
}
System.out.println(b * i);
}
sc.close();
}
public static boolean isgcd(int a, int b, int c) {
while (true) {
a = a % b;
if (a == 0) {
if (b == c) {
return true;
}
return false;
}
b = b % a;
if (b == 0) {
if (a == c) {
return true;
}
return false;
}
}
}
}