Open In App
Related Articles

Time until distance gets equal to X between two objects moving in opposite direction

Improve
Improve
Improve
Like Article
Like
Save Article
Save
Report issue
Report

Consider two people moving in opposite direction with speeds U meters/second and V meters/second respectively. The task is to find how long will take to make the distance between them X meters.
Examples: 
 

Input: U = 3, V = 3, X = 3 
Output: 0.5 
After 0.5 seconds, policeman A will be at distance 1.5 meters 
and policeman B will be at distance 1.5 meters in the opposite direction 
The distance between the two policemen is 1.5 + 1.5 = 3
Input: U = 5, V = 2, X = 4 
Output: 0.571429 
 


 


Approach: It can be solved using distance = speed * time. Here, distance would be equal to the given range i.e. distance = X and speed would be the sum of the two speeds because they are moving in the opposite direction i.e. speed = U + V.
Below is the implementation of the above approach:
 

C++

// C++ implementation of the approach
#include <bits/stdc++.h>
using namespace std;
 
// Function to return the time for which
// the two policemen can communicate
double getTime(int u, int v, int x)
{
    double speed = u + v;
 
    // time = distance / speed
    double time = x / speed;
    return time;
}
 
// Driver code
int main()
{
    double u = 3, v = 3, x = 3;
    cout << getTime(u, v, x);
 
    return 0;
}

                    

Java

// Java implementation of the approach
class GFG
{
 
    // Function to return the time for which
    // the two policemen can communicate
    static double getTime(int u, int v, int x)
    {
        double speed = u + v;
 
        // time = distance / speed
        double time = x / speed;
        return time;
    }
 
    // Driver code
    public static void main(String[] args)
    {
        int u = 3, v = 3, x = 3;
        System.out.println(getTime(u, v, x));
    }
}
 
/* This code contributed by PrinciRaj1992 */

                    

Python3

# Python3 implementation of the approach
 
# Function to return the time
# for which the two policemen
# can communicate
def getTime(u, v, x):
 
    speed = u + v
 
    # time = distance / speed
    time = x / speed
    return time
 
# Driver code
if __name__ == "__main__":
 
    u, v, x = 3, 3, 3
    print(getTime(u, v, x))
 
# This code is contributed
# by Rituraj Jain

                    

C#

// C# implementation of the approach
using System;
 
class GFG
{
 
    // Function to return the time for which
    // the two policemen can communicate
    static double getTime(int u, int v, int x)
    {
        double speed = u + v;
 
        // time = distance / speed
        double time = x / speed;
        return time;
    }
 
    // Driver code
    public static void Main()
    {
        int u = 3, v = 3, x = 3;
        Console.WriteLine(getTime(u, v, x));
    }
}
 
// This code is contributed
// by Akanksha Rai

                    

PHP

<?php
// PHP implementation of the approach
 
// Function to return the time for which
// the two policemen can communicate
function getTime($u, $v, $x)
{
    $speed = $u + $v;
 
    // time = distance / speed
    $time = $x / $speed;
    return $time;
}
 
// Driver code
$u = 3; $v = 3; $x = 3;
echo getTime($u, $v, $x);
 
// This code is contributed
// by Akanksha Rai
?>

                    

Javascript

<script>
// JavaScript implementation of the approach
 
// Function to return the time for which
// the two policemen can communicate
function getTime(u, v, x)
{
    let speed = u + v;
 
    // time = distance / speed
    let time = x / speed;
    return time;
}
 
// Driver code
    let u = 3, v = 3, x = 3;
    document.write(getTime(u, v, x));
 
// This code is contributed by Surbhi Tyagi.
</script>

                    

Output: 
0.5

 

 Time Complexity: O(1)
Auxiliary Space: O(1) 



Last Updated : 22 Jun, 2022
Like Article
Save Article
Previous
Next
Share your thoughts in the comments
Similar Reads