【題目】Problem A.分數加法

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);
    }
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章