ML 36. Движение катера

Условие

Катер движется по течению реки из пункта в A в пункт B и обратно с собственной скоростью [latex]v[/latex] км/час. Скорость течения постоянна — [latex]u[/latex]  км/час. Расстояние между пунктами составляет [latex]s[/latex]  км. Для любых неотрицательных действительных значений расстояния и скоростей вычислите время в пути.

Входные данные

Физические величины: [latex]v[/latex] , [latex]v[/latex] , [latex]v[/latex]

Выходные данные

Физическая величина [latex]t[/latex]

Решение

По условию, мы проверяем любые неотрицательные действительные значения, следовательно условие, что [latex]t[/latex] не может быть меньше нуля не выполняется только если скорость течения будет превышать скорость катера (т.е. он не сможет плыть против него).  При нарушении этого условия или при получении 0 в знаменателе будем выводить -1.
Время в пути можно найти по формуле: [latex]t=\frac{s}{v}[/latex]

Так как к нашему условие добавляется влияние течения, то  скорость по его направлению будет

[latex]v+u[/latex], а против — [latex]v-u[/latex]. Следовательно получаем формулу для нахождения времени, необходимого на преодоление пути от А до В и обратно:

[latex]t=\frac{s}{(v+u)} + \frac{s}{(v-u)}[/latex]

На TryHaxe!

Тесты

s v u t
  6   1   2   -1
  6   2   1   8
  60   12   4   11.25