두 기차의 속도 S, 파리의 속도 T, 처음 거리 D가 주어질 때 기차가 충돌할 때까지 파리가 이동한 거리를 구한다.
쉬움2수학구현시뮬레이션완전 탐색면접 대비아직 제출이 없습니다시간 제한1초메모리 제한512 MB역사상 최고의 천재로 꼽히는 폰 노이만에게는 다음 일화가 있다.
어느 날 동료가 폰 노이만의 천재성을 시험하려고 이런 질문을 던졌다.
"200마일 길이의 철로 양쪽 끝에 선 두 대의 기차가 시속 50마일로 서로를 향해 출발했습니다. 출발한 순간부터 두 기차가 충돌할 때까지 파리 한 마리가 시속 75마일로 두 기차 사이를 왔다 갔다 했습니다. 파리가 이동한 거리는 모두 몇 마일일까요?"
폰 노이만은 문제를 듣고 1초도 지체하지 않고 150마일이라고 답했다. 동료는 크게 실망하며 말했다.
"역시 똑똑하시군요. 보통 사람은 이 문제를 무한급수로 풀려고 해서 시간이 아주 오래 걸립니다. 하지만 간단한 논리를 쓰면 파리가 이동한 거리를 순식간에 구할 수 있죠. 당신도 그 논리를 쓴 것이죠?"
폰 노이만이 답했다.
"아니요, 무한급수로 풀었는데요?"
무한급수로 푸는 방법은 이렇다. 수직선 위에 기차 A와 B가 있다고 하자. 파리와 함께 출발하는 기차를 A라 하고 그 위치를 기준점으로 잡으면, 기차 B는 기준점에서 200마일 떨어진 지점에 있다. 시각 t에서 파리의 위치는 75t이고 기차 B의 위치는 200−50t이므로, 파리와 기차 B가 처음 만나는 지점은 기준점에서 120마일 떨어진 곳이다. 이 120마일이 파리의 첫 이동거리 a1이다. 그 순간 기차 A는 기준점에서 80마일 떨어진 지점에 있다. 기차 A의 속도가 파리 속도의 2/3이기 때문이다. 두 기차 사이가 40마일로 줄었으므로 같은 방식으로 파리의 두 번째 이동거리 a2는 (1/5)a1이다. 계속 따져 보면 ai+1=(1/5)ia1이고, 파리의 총 이동거리는 ∑i≥0(1/5)ia1=150, 즉 150마일이다.
동료가 말한 간단한 논리는 이렇다. 두 기차는 200/(50×2)=2시간 뒤에 만난다. 파리는 2시간 동안 시속 75마일로 이동하므로 2×75=150마일을 이동한다.
이제 위 문제를 푸는 프로그램을 만들려고 한다. 우리 컴퓨터는 폰 노이만의 두뇌보다 성능이 떨어져서 무한급수로는 프로그램을 만들 수 없다. 간단한 논리를 써서, 기차의 속도 S, 파리의 속도 T, 처음 두 기차 사이의 거리 D가 주어졌을 때 두 기차가 만날 때까지 파리가 이동한 거리 F를 구하는 프로그램을 작성하라. 두 기차의 속도는 서로 같고, 파리는 두 기차가 충돌하는 순간까지 한 번도 멈추지 않는다.
첫째 줄에 기차의 속도 S, 파리의 속도 T, 처음 두 기차 사이의 거리 D가 공백으로 구분되어 주어진다. 세 값은 모두 10,000 이하의 양의 정수이고, T>S이며, D는 2S의 배수이다.
첫째 줄에 파리가 이동한 거리 F를 출력한다. D가 2S의 배수이므로 F는 항상 정수이다.