明明是相遇問題,搞什麼莫名其妙的最小公倍數?
題目鏈接 HDU 1713 相遇週期.
題目:
分析:
從題目就可以看出來
26501/6335 :就是轉26501圈要6335天
18468/42 :就是轉18468圈要42天
第一個差不多一天跑十圈
第二個差不多一天跑四百多圈
答案告訴我相遇週期一千多萬天????
反正我是這麼解的,還解不出來
AC代碼
迫於淫威還是煞有介事的寫了。。。
package Two;
import java.util.Scanner;
public class T1713 {
public static long gcd(long m, long n) {
if (n == 0) return m;
else return gcd(n, m % n);
}
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int t = sc.nextInt();
while (t-->0) {
String s1 = sc.next();
String ss1[] = s1.split("/");
String s2 = sc.next();
String ss2[] = s2.split("/");
long q1 = Long.valueOf(ss1[0]);
long t1 = Long.valueOf(ss1[1]);
long a=gcd(q1,t1);
q1/=a;
t1/=a;
long q2 = Long.valueOf(ss2[0]);
long t2 = Long.valueOf(ss2[1]);
long b=gcd(q2,t2);
q2/=b;
t2/=b;
long ans=q1*q2/gcd(q1,q2);
long time = gcd(t1,t2);
System.out.println(ans + (time == 1 ? "": ("/" + time)));
}
}
}