question:相遇周期

思路:

首先将两个分数化为最简形式(也就是分子分母同时除以最大公约数)

然后题意是要求两个分数的最小公倍数

借助以下两个公式,就可以求出结果

1.最小公倍数*最大公约数 = a*b

2.两个分数的最小公倍数:分子为两个分子的最小公倍数,分母为两个分母的最大公约数(前提是分数是最简形式)

注:最后结果要判断一下,如果分子可以被分母整除,则只要输出整除的结果,否则输出拼接字符串

source code:

package hduoj;

import java.util.Scanner;

/**
* 最小公倍数*最大公约数 = a*b
* 两个分数的最小公倍数:分子为两个分子的最小公倍数,分母为两个分母的最大公约数(前提是分数是最简形式
*/
public class hdoj_1713 {
static long gcd(long a,long b){
if(b==0) return a;
return(gcd(b,a%b));
} public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int count = Integer.parseInt(sc.next());
while(count--!=0){
String the_first = sc.next();
String the_last = sc.next();
long the_first_numberator = Integer.parseInt(the_first.split("/")[0]);
long the_first_denominator = Integer.parseInt(the_first.split("/")[1]);
long gcd_1 = gcd(the_first_numberator,the_first_denominator);
the_first_numberator/=gcd_1;
the_first_denominator/=gcd_1; long the_last_numberator = Integer.parseInt(the_last.split("/")[0]);
long the_last_denominator = Integer.parseInt(the_last.split("/")[1]);
long gcd_2 = gcd(the_last_numberator,the_last_denominator);
the_last_numberator/=gcd_2;
the_last_denominator/=gcd_2; long gcd_3 = gcd(the_first_numberator,the_last_numberator); long the_result_numberator = the_first_numberator/gcd_3*the_last_numberator;
long the_result_denominator = gcd(the_first_denominator,the_last_denominator);
if(the_first_numberator%the_result_denominator!=0)
System.out.println(the_result_numberator+"/"+the_result_denominator);
else
System.out.println(the_result_numberator/the_result_denominator);
}
}
}

思路是从其他博主哪里学习来的,贴上链接:

https://www.cnblogs.com/William-xh/p/7203232.html?utm_source=itdadao&utm_medium=referral

代码已经ac

希望对大家有所帮助

以上

杭电oj_1713——相遇周期(java实现)的更多相关文章

  1. 杭电oj2093题,Java版

    杭电2093题,Java版 虽然不难但很麻烦. import java.util.ArrayList; import java.util.Collections; import java.util.L ...

  2. 杭电oj————2057(java)

    question:A+ B again 思路:额,没啥思路/捂脸,用java的long包里的方法,很简单,只是有几次WA,有几点要注意一下 注意:如果数字有加号要删除掉,这里用到了正则表达式“\\+” ...

  3. 杭电acm2059-龟兔赛跑 java

    一看题就知道是动态规划,不过这要看下如何设置变化数组了 先分析这道题:兔子到达终点的时间时固定的,因此只需要考虑乌龟了,乌龟骑电车和骑自行车的时间,然后计算,因为中间有N个充电站,可以看做N个点(到起 ...

  4. 杭电2091空心三角形Java(AC)

    题目:http://acm.hdu.edu.cn/showproblem.php?pid=2091 把三角形写入二维数组里,然后输出出来 注意事项: 1.三角形后面没有空格(每一层的后面) 2.三角形 ...

  5. 杭电1257 dp(java)

    最少拦截系统 某国为了防御敌国的导弹袭击,发展出一种导弹拦截系统.但是这种导弹拦截系统有一个缺陷:虽然它的第一发炮弹能够到达任意的高度,但是以后每一发炮弹都不能超过前一发的高度.某天,雷达捕捉到敌国的 ...

  6. 杭电ACM 1713 相遇周期

    相遇周期 Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submis ...

  7. 杭电oj 4004---The Frog Games java解法

    import java.util.Arrays; import java.util.Scanner; //杭电oj 4004 //解题思路:利用二分法查找,即先选取跳跃距离的区间,从最大到最小, // ...

  8. HDU 1713 最小公倍数与最大公约数的问题 相遇周期

    欢迎参加——BestCoder周年纪念赛(高质量题目+多重奖励) 相遇周期 Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/ ...

  9. 杭电ACM分类

    杭电ACM分类: 1001 整数求和 水题1002 C语言实验题——两个数比较 水题1003 1.2.3.4.5... 简单题1004 渊子赛马 排序+贪心的方法归并1005 Hero In Maze ...

随机推荐

  1. Protobuf用法

    官方文档 什么是 protocol buffer? Protocol buffers are a flexible, efficient, automated mechanism for serial ...

  2. day 8 函数编程_byets

    定义 bytes类型是指一堆字节的集合,在python中以b开头的字符串都是bytes类型 b'\xe5\xb0\x8f\xe7\x8c\xbf\xe5\x9c\x88' #b开头的都代表是bytes ...

  3. navicate 连接mysql8.0,个人踩坑问题汇总

    navicate 连接mysql8.0,个人踩坑问题汇总本文目录:1:安装mysql8.0新增全新验证方式,安装如果不修改mysql连接不上2:mysql启动命令问题3:navicate 运程连接My ...

  4. XSY3163

    题意 \(n\)阶无向图,带边权,边有黑白两色,问有多少棵白边恰好为\(k\)的树,边权最小 做法 先二分出给白边的附加权值,然后矩阵树讨论同权值块即可 题外话 乍一看好神仙,然后..

  5. JPA 常用注解

    @Entity(name=”EntityName”):必须,name为可选,对应数据库中一的个表 @Table(name=””,catalog=””,schema=””):可选 通常和@Entity配 ...

  6. 洛谷题解 P1744 【采购特价商品】

    原题传送门 题目描述 中山路店山店海,成了购物狂爱与愁大神的"不归之路".中山路上有n(n<=100)家店,每家店的坐标均在-10000~10000之间.其中的m家店之间有通 ...

  7. Anaconda 常用命令

    目录 包管理 环境管理 共享环境设置 包管理 安装包 conda install xxx conda install pandas ; conda install pandas numpy ; 同时安 ...

  8. c++精度

  9. cin,cin.get(),cin.getline(),gets(),getchar()函数的用法

    1.cin>> 用法a:最基本的流输入用法,接受一个数字或字符,自动跳过输入的空格. 用法b:接受一个字符串,但是遇到除开头外的空格则会终止输入. #include<iostream ...

  10. 遇到的错误:Mysql 报错Duplicate entry '值' for key '字段名'的解决

    ### Error updating database. Cause: com.mysql.jdbc.exceptions.jdbc4.MySQLIntegrityConstraintViolatio ...