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)
// 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 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.
# 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# 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.
<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)