# Speed of boat in still water from speed of stream and times taken

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 downsteam` `// 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 downsteam` `// 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 downsteam 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 downsteam` `// 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` `// downsteam 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` `// downsteam 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

Attention reader! Don’t stop learning now. Participate in the **Scholorship Test for First-Step-to-DSA Course for Class 9 to 12 students**.