小Y有一朋友有很多硬币,由于实在太多,我们就假设有无限个。某天,他答应给小Y其中两种面值的硬币,数量不限,
现在小Y想知道这两种硬币能凑出哪些面值,不能凑出哪些面值,估计准备去逛商场了吧。
import java.util.Scanner;
public class Main {
private static long gcd(long a, long b) {
if (a % b == 0) {
return b;
} else {
return gcd(b, a % b);
}
}
public static void main(String[] args) {
Scanner cin = new Scanner(System.in);
while (cin.hasNext()) {
int t = cin.nextInt();
for (int i = 0; i < t; i++) {
long a = cin.nextLong();
long b = cin.nextLong();
long gcd = gcd(a, b);
if (gcd != 1) {
System.out.print("infinite!" + "\r\n");
} else {
System.out.print(
(a - 1) * (b - 1) / 2 + "\r\n");
}
}
}
}
}