问题描述
给定两个正整数a和b,计算2的-a次方加2的-b次方的结果,并以最简分数形式输出该结果。
输入格式
输入的第一行是一个整数T(1≤T≤400),表示测试数据的组数。接下来T行,每行包含两个整数a和b(2≤a,b≤20),代表需要计算的指数值。
输出格式
对于每一组输入数据,输出一行,表示计算得到的最简分数结果。
示例输入
2
2 4
3 2
示例输出
5/16
3/8
参考代码
#include
#include
#include
#define ll long long
using namespace std;
struct Fraction {
ll numerator;
ll denominator;
};
ll gcd(ll a, ll b) {
return b == 0 ? a : gcd(b, a % b);
}
int main() {
ll T;
cin >> T;
while (T--) {
ll a, b;
cin >> a >> b;
Fraction f1 = {1, 1 < Fraction f2 = {1, 1 < ll lcm = (f1.denominator * f2.denominator) / gcd(f1.denominator, f2.denominator);
ll num1 = lcm / f1.denominator * f1.numerator;
ll num2 = lcm / f2.denominator * f2.numerator;
ll sum = num1 + num2;
ll g = gcd(sum, lcm);
cout <
return 0;
}
题目来源
此题源自2014年网络研究A类竞赛。