Open In App

Distance between two points travelled by a boat

Improve
Improve
Like Article
Like
Save
Share
Report

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 <iostream>
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




<script>
  
// Javascript program to find distance 
// between two points using boat speed, 
// stream speed and total time.
    
// Function to calculate the speed 
// of boat in still water 
function  distance(T,B,S)
{
    return (T * (((B * B) - (S * S)) / (2 * B)));
}
    
// Driver Code
var T = 1;
var B = 5;
var S = 1;
  
document.write("The distance between " +
               "two points via boat = "
               distance(T, B, S) + " km ");
                 
// This code is contributed by bunnyram19
  
</script>


Output: 

The distance between two points via boat = 2.4 km

Time Complexity: O(1)

Auxiliary Space: O(1)
 



Last Updated : 17 Feb, 2023
Like Article
Save Article
Previous
Next
Share your thoughts in the comments
Similar Reads