Write a program to determine speed of the boat in still water(B) given the speed of the stream(S in km/hr), the time taken (for same point) by the boat upstream(T1 in hr) and downstream(T2 in hr).
Examples:
Input : T1 = 4, T2 = 2, S = 5 Output : B = 15 Input : T1 = 6, T2 = 1, S = 7 Output : B = 9.8
Prerequisite : Speed of boat upstream and downstream
Speed of boat in still water can be computed using below formula.
B = S*((T1 + T2) / (T1 – T2))
How does this formula work?
Since the point is same, distance traveled during upstream should be same as downstream.
Therefore,
(B – S) * T1 = (B + S) * T2
B(T1 – T2) = S*(T1 + T2)
B = S*(T1 + T2)/(T1 – T2)
C++
// CPP program to find speed of boat in still water // from speed of stream and times taken in downstream // and upstream #include <iostream> using namespace std; // Function to calculate the speed of boat in still water float still_water_speed( float S, float T1, float T2) { return (S * (T1 + T2) / (T1 - T2)); } int main() { float S = 7, T1 = 6, T2 = 1; cout << "The speed of boat in still water = " << still_water_speed(S, T1, T2)<< " km/ hr " ; return 0; } |
Java
// Java program to find speed of boat in still water // from speed of stream and times taken in downstream // and upstream import java.io.*; class GFG { // Function to calculate the // speed of boat in still water static float still_water_speed( float S, float T1, float T2) { return (S * (T1 + T2) / (T1 - T2)); } // Driver code public static void main (String[] args) { float S = 7 , T1 = 6 , T2 = 1 ; System.out.println( "The speed of boat in still water = " + still_water_speed(S, T1, T2)+ " km/ hr " ); } } // This code is contributed by vt_m. |
Python3
# Python3 program to find speed of boat # in still water from speed of stream and # times taken in downstream and upstream # Function to calculate the # speed of boat in still water def still_water_speed(S, T1, T2): return (S * (T1 + T2) / (T1 - T2)) # Driver code S = 7 ; T1 = 6 ; T2 = 1 print ( "The speed of boat in still water = " , still_water_speed(S, T1, T2), " km/ hr " ) # This code is contributed by Anant Agarwal. |
C#
// C# program to find speed of boat // in still water from speed of stream // and times taken in downstream // and upstream using System; class GFG { // Function to calculate the // speed of boat in still water static float still_water_speed( float S, float T1, float T2) { return (S * (T1 + T2) / (T1 - T2)); } // Driver code public static void Main() { float S = 7, T1 = 6, T2 = 1; Console.WriteLine( "The speed of boat in still water = " + still_water_speed(S, T1, T2) + " km/ hr " ); } } // This code is contributed by vt_m. |
PHP
<?PHP // PHP program to find speed of // boat in still water from speed // of stream and times taken in // downstream and upstream // Function to calculate the speed // of boat in still water function still_water_speed( $S , $T1 , $T2 ) { return ( $S * ( $T1 + $T2 ) / ( $T1 - $T2 )); } // Driver Code $S = 7; $T1 = 6; $T2 = 1; echo ( "The speed of boat in still water = " . still_water_speed( $S , $T1 , $T2 ) . " km/hr " ); // This code is contributed by Smitha ?> |
Javascript
<script> // Javascript program to find speed of // boat in still water from speed // of stream and times taken in // downstream and upstream // Function to calculate the speed // of boat in still water function still_water_speed(S, T1, T2) { return (S * (T1 + T2) / (T1 - T2)); } // Driver Code var S = 7; var T1 = 6; var T2 = 1; document.write( "The speed of boat in still water = " + still_water_speed(S, T1, T2) + " km/hr " ); // This code is contributed by bunnyram19 </script> |
Output:
The speed of boat in still water = 9.8 km/hr
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!