📜  乘船经过的两点之间的距离

📅  最后修改于: 2022-05-13 01:57:58.823000             🧑  作者: Mango

乘船经过的两点之间的距离

编写一个程序来确定船行进的两点之间的距离(D),给定船在静水中的速度(B),溪流的速度(S),划船一个地方并返回所花费的时间,即T。

例子:

Input : B = 5, S = 1, T = 1
Output : D = 2.4

Input : B = 5, S = 2, T = 1 
Output : D = 2.1  

距离公式为 D = T*(B^2 – S^2)/ (2*B)

这个公式是如何工作的?

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) 
C++
// CPP program to find distance between
// two points using boat speed, stream
// speed and total time.
#include 
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
// 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.


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


Javascript


输出:

The distance between two points via boat = 2.4 km