zoukankan      html  css  js  c++  java
  • HDOJ(HDU) 2503 a/b + c/d(最大公约数问题)

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

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

    
    import java.util.Scanner;
    
    public class Main{
    
        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();
    
                int n = a*d+c*b;
                int m = b*d;
    
                a=n;
                b=m;
                if(m>n){//n一定要大于等于m
                    m=m^n;
                    n=m^n;
                    m=m^n;
                }
                //求n和m的最大公约数---辗转相除法
                while(m>0){
                    int k=n%m;
                    n=m;
                    m=k;
                }
    
                System.out.println((int)a/n+" "+(int)b/n);
    
            }
    
        }
    
    }
    
  • 相关阅读:
    随笔练习
    获得屏幕相关的辅助类
    C# 下sqlite简单使用
    XP系统下 VS2010 选中行崩溃
    Custome Buble Data Point
    RIA
    Chart Style
    d3js
    TreeView
    [Java入门笔记] Java语言简介
  • 原文地址:https://www.cnblogs.com/webmen/p/5739201.html
Copyright © 2011-2022 走看看