【题目】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);
    }
}
发布了261 篇原创文章 · 获赞 283 · 访问量 8万+

猜你喜欢

转载自blog.csdn.net/weixin_44485744/article/details/105067054
今日推荐