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)