Problem A.分數加法
題目描述
求2^-a + 2^-b,其中a和b均爲正整數,結果請用最簡分數表示。
輸入格式
第一行爲測試數據的組數T(1<=T<=400)。請注意,任意兩組測試數據之間是相互獨立的。
每組測試數據一行,包含兩個整數a和b(2<=a,b<=20)。
輸出格式
對於每組測試數據,在一行內輸出結果,分子和分母用“/”隔開。
輸入樣例
2
2 4
3 2
輸出樣例
5/16
3/8
解答:
import java.util.Scanner;
/*
Problem A.分數加法
題目描述
求2^-a + 2^-b,其中a和b均爲正整數,結果請用最簡分數表示。
輸入格式
第一行爲測試數據的組數T(1<=T<=400)。請注意,任意兩組測試數據之間是相互獨立的。
每組測試數據一行,包含兩個整數a和b(2<=a,b<=20)。
輸出格式
對於每組測試數據,在一行內輸出結果,分子和分母用“/”隔開。
輸入樣例
2
2 4
3 2
輸出樣例
5/16
3/8
*/
public class Test{
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
while(scanner.hasNext()) {
int n = scanner.nextInt();
for(int i = 0; i < n; i++) {
int a = scanner.nextInt(), b = scanner.nextInt();
a = (int) Math.pow(2, a);
b = (int) Math.pow(2, b);
int a1 = 1, b1 = 1;
a1 *= a1 * b;
b1 *= a * b1;
a1 += b1;
a *= b;
int x = gcd(a1, a);
System.out.println(a1 / x + "/" + a / x);
}
}
}
public static int gcd(int a, int b){
return b == 0? a : gcd(b, a % b);
}
}