HDU 1713 相遇週期 最小公倍數

明明是相遇問題,搞什麼莫名其妙的最小公倍數?

題目鏈接 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)));
		}
	}
}

發佈了60 篇原創文章 · 獲贊 15 · 訪問量 5635
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章