Условие задачи
Катер движется по течению реки из пункта A в пункт B и обратно с собственной скоростью $latex v$ км/час. Скорость течения постоянна — $latex u$ км/час. Расстояние между пунктами составляет $latex s$ км. Для любых действительных неотрицательных значений расстояния и скоростей вычислить время в пути $latex t_{boat}$.
Тесты
Входные данные: физические величины $latex v$, $latex u$, $latex s$
Выходные данные: физическая величина $latex t_{boat}$
№ | Входные данные | Выходные данные |
1 | 3 2 10 | 12.0 |
2 | 1.4 0.4 3.6 | 5.6 |
3 | 3 6 10 | Infinity |
4 | 2 1 0 | 0.0 |
Код
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
import java.util.Scanner; class ML36 { public static void main (String[] args) { double v, u, s, t; double inf = Double.POSITIVE_INFINITY; Scanner scanner = new Scanner(System.in); v = scanner.nextDouble(); u = scanner.nextDouble(); s = scanner.nextDouble(); t = (v>=u) ? s/(v+u) + s/(v-u) : inf; System.out.println(t); } } |
Код доступен на ideone
Пояснение
Скорость катера, когда он идет по течению, равна $latex (v+u)$, а когда против — $latex (v-u)$. Время $latex t$ вычисляется по формуле $latex t = \frac{s}{v}\\ $, где $latex s$ — расстояние, $latex v$ — скорость, соответственно общее время пути катера составит $latex t_{boat} = {\frac{s}{v+u}\\+\frac{s}{v-u}\\} $. При этом время — величина неотрицательная, а делитель дроби не должен быть нулевым, соответственно имеем ограничение $latex v-u > 0, v > u $.
Хорошо. Зачтено.
Вот только… Лучше не делать видимым адрес перехода по ссылке (например, http://ideone.com/BhpM5S). Читателю ведь нужно только нажать на кнопку, а не читать этот текст?
Исправлено