HDU 2503 JAVA

来源:互联网 发布:开户银行数据 编辑:程序博客网 时间:2024/05/16 15:26

Problem Description
给你2个分数,求他们的和,并要求和为最简形式。

Input
输入首先包含一个正整数T(T<=1000),表示有T组测试数据,然后是T行数据,每行包含四个正整数a,b,c,d(0

import java.util.Scanner;public class Main{    /**     * @author 胡龙华     */    public static void main(String[] args) {        Scanner sc = new Scanner(System.in);        int t = sc.nextInt();        while(t-->0){            int a = sc.nextInt();            int b = sc.nextInt();            int c = sc.nextInt();            int d = sc.nextInt();            double e = a*d+b*c;            double f = b*d;            double i=simplification(e,f);            System.out.println((int)(e/i)+" "+(int)(f/i));        }    }    private static double simplification(double e, double f) {        if(e<f){  //保证e大f小          double temp = f;          f = e;          e = temp;        }        while(true){            double r = e%f;            e = f ;            f= r;            if(f==0)                break;        }        // 吃屎  e 为最大公约数        return e;    }}
0 0
原创粉丝点击