Open In App

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)




// 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 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 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# 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 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
?>




<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)
 


Article Tags :
DSA