A는 10시에 출발하여 40km/h의 속도로 이동
B는 11시에 출발하여 60km/h의 속도로 이동
몇시에 만나는가?
package algo;
public class LCM03 {
public static void main(String[] args) {
// 최소 공배수 구하는 공식 LCM = a * c / gcd
// A는 10시에 출발하여 40km/h의 속도로 이동
int aTime = 10; // A 출발 시간
int a = 40; // A 속도
// B는 11시에 출발하여 60km/h의 속도로 이동
int bTime = 11; // B 출발 시간
int b = 60; // B 속도
// 둘은 언제 만나는가?
int km = (40 * 60 / Util.gcd(a, b)); // 40과 60의 최소 공배수를 구한다.
// 확인
// System.out.println(km); // 120km를 갔을 때 만난다.
// A는 40의 속도 B는 60의 속도이니, 시간 = 거리 / 속력
// 120km를 가려면 ...
int time1 = km / a;
int time2 = km / b;
System.out.println("120km를 가려면 A는 " + time1 + "시간 걸린다.");
System.out.println("120km를 가려면 B는" + time2 + "시간 걸린다.");
// 만나는 시간
int meetingTime = aTime + (km / a); // 혹은 bTime + km / b, 둘 다 같은 값
System.out.println("둘은 " + meetingTime + "시에 만난다.");
}
}

Share article