Open In App

# Distance between two points travelled by a boat

Write a program to determine the distance(D) between two points traveled by a boat, given the speed of boat in still water(B), the speed of the stream(S), the time taken to row a place and come back i.e T.

Examples:

```Input : B = 5, S = 1, T = 1
Output : D = 2.4

Input : B = 5, S = 2, T = 1
Output : D = 2.1  ```

Formula for distance is D = T*(B^2 – S^2)/ (2*B)

How does this formula work?

```Time taken when person goes upstream,
t1 = D/(B-S)
Time taken when person goes downstream,
t2 = D/(B+S)

We are given t1 + t2 = T
So, D/(B-S) + D/(B+S) = T
D = T*(B^2 - S^2)/ (2*B) ```

## C++

 `// CPP program to find distance between``// two points using boat speed, stream``// speed and total time.``#include ``using` `namespace` `std;`` ` `// Function to calculate the distance``// between two points via boat``float` `distance(``float` `T, ``float` `B, ``float` `S)``{``    ``return` `(T * (((B * B) - (S * S)) / (2 * B)));``}`` ` `int` `main()``{``    ``// Time taken time taken to row a place ``    ``// and come back in hr``    ``float` `T = 1;`` ` `    ``// Speed of boat in still water in km/hr``    ``float` `B = 5;`` ` `    ``// Speed of stream in km/hr``    ``float` `S = 1;``    ``cout << ``"The distance between two points via boat = "``         ``<< distance(T, B, S) << ``" km"``;``    ``return` `0;``}`

## Java

 `// java program to find distance between``// two points using boat speed, stream``// speed and total time.``import` `java.io.*;`` ` `class` `GFG {`` ` `    ``// Function to calculate the distance``    ``// between two points via boat``    ``static` `float` `distance(``float` `T, ``float` `B, ``float` `S)``    ``{``        ``return` `(T * (((B * B) - (S * S)) / (``2` `* B)));``    ``}``     ` `    ``// Driver code``    ``public` `static` `void` `main (String[] args) ``    ``{``        ``// Time taken time taken to row a place ``        ``// and come back in hr``        ``float` `T = ``1``;``     ` `        ``// Speed of boat in still water in km/hr``        ``float` `B = ``5``;``     ` `        ``// Speed of stream in km/hr``        ``float` `S = ``1``;``        ``System.out.println(``"The distance between two points via boat = "``                           ``+ distance(T, B, S) + ``" km"``);``         ` `    ``}``}`` ` `// This code is contributed by vt_m.`

## Python3

 `# Python 3 program to find distance ``# between two points using boat speed, ``# stream speed and total time.`` ` `# Function to calculate the distance``# between two points via boat``def` `distance( T, B, S):`` ` `    ``return` `(T ``*` `(((B ``*` `B) ``-` `(S ``*` `S)) ``/` `(``2` `*` `B)))`` ` `# Driver Code``if` `__name__ ``=``=` `"__main__"``:``     ` `    ``# Time taken time taken to row ``    ``# a place and come back in hr``    ``T ``=` `1`` ` `    ``# Speed of boat in still ``    ``# water in km/hr``    ``B ``=` `5`` ` `    ``# Speed of stream in km/hr``    ``S ``=` `1``    ``print``(``"The distance between two "``+` `          ``"points via boat ="``, ``           ``distance(T, B, S), ``"km"``)`` ` `# This code is contributed ``# by ChitraNayal`

## C#

 `// C# program to find distance between``// two points using boat speed, stream``// speed and total time.``using` `System;`` ` `class` `GFG {`` ` `    ``// Function to calculate the distance``    ``// between two points via boat``    ``static` `float` `distance(``float` `T, ``float` `B, ``float` `S)``    ``{``        ``return` `(T * (((B * B) - (S * S)) / (2 * B)));``    ``}`` ` `    ``// Driver code``    ``public` `static` `void` `Main()``    ``{``        ``// Time taken time taken to row a place``        ``// and come back in hr``        ``float` `T = 1;`` ` `        ``// Speed of boat in still water in km/hr``        ``float` `B = 5;`` ` `        ``// Speed of stream in km/hr``        ``float` `S = 1;``        ``Console.WriteLine(``"The distance between two points via boat = "` `+``                                              ``distance(T, B, S) + ``" km"``);``    ``}``}`` ` `// This code is contributed by vt_m.`

## Javascript

 ``

Output:

`The distance between two points via boat = 2.4 km`

Time Complexity: O(1)

Auxiliary Space: O(1)