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)
Ready to dive in? Explore our Free Demo Content and join our DSA course, trusted by over 100,000 neveropen!