俩分数相乘后约分的Cantor表(洛谷P1482题题解,Java语言描述)

题目要求

P1482题目链接

在这里插入图片描述
在这里插入图片描述

分析

据说本题是这题的升级版…… → P1014题题解

升级的地方其实就是相乘之后约分。
约分需要求解最大公约数,gcd()是吧……

但我这里偏偏懒得写gcd,就想用Java的API怎么办?嘿嘿,别找啦,在java.math.BigInteger里!
public BigInteger gcd​(BigInteger val)

就是这个玩意,最后转回去就完事啦……

更何况这题,竟然不是求位置标识,而是横纵坐标……这不显然的吗……
约分后的分母是行,分子是列。

So……升级版??宁逗我??
从橙题升级升到红题哈哈哈……自降一级……xswl……

AC代码(Java语言描述)

import java.math.BigInteger;
import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        String[] array_1 = scanner.nextLine().split("/");
        String[] array_2 = scanner.nextLine().split("/");
        BigInteger a = new BigInteger(Integer.toString(Integer.parseInt(array_1[0])*Integer.parseInt(array_2[0])));
        BigInteger b = new BigInteger(Integer.toString(Integer.parseInt(array_1[1])*Integer.parseInt(array_2[1])));
        int gcd = a.gcd(b).intValue();
        System.out.println((b.intValue()/gcd) + " " + (a.intValue()/gcd));
        scanner.close();
    }
}
发布了401 篇原创文章 · 获赞 659 · 访问量 5万+

猜你喜欢

转载自blog.csdn.net/weixin_43896318/article/details/104102998