北邮OJ-266-分数加法-14网研上机A

本文介绍了一个简单的算法,用于解决特定形式的数学问题:计算2-a+2-b的值,并将其表示为最简分数形式。输入包括多组测试数据,每组数据包含两个整数a和b,范围限定在2到20之间。程序通过比较a和b的大小来简化计算过程,最终输出分子和分母分别用“/”隔开的结果。
摘要由CSDN通过智能技术生成

题目描述
求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

#include <cstdio>
#include <cmath>
using namespace std;

int main(){
    int a,b;
    int up,down;
    int t;
    scanf("%d",&t);
    for (int time=0;time<t;time++){
        //input
        scanf("%d%d",&a,&b);
        if (a<b){//大的在前 
            int temp=a;
            a=b;
            b=temp;
        }
        //process
        up=pow(2,a-b)+1;
        down=pow(2,a);
        while (up%2==0){
            up/=2;
            down/=2;
        }
        //output
        printf("%d/%d\n",up,down);
    }
    return true;
} 
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值