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 = 1print("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!

… [Trackback]
[…] Find More to that Topic: geeksforgeeks.org/speed-of-boat-in-still-water-from-speed-of-stream-and-times-taken/ […]
… [Trackback]
[…] Here you can find 81376 more Info to that Topic: geeksforgeeks.org/speed-of-boat-in-still-water-from-speed-of-stream-and-times-taken/ […]