您当前的位置: 首页 >  Java

星拱北辰

暂无认证

  • 0浏览

    0关注

    1205博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

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

星拱北辰 发布时间:2020-01-28 22:00:03 ,浏览量:0

题目要求

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();
    }
}
关注
打赏
1660750074
查看更多评论
立即登录/注册

微信扫码登录

0.0508s