Open In App

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

Last Updated : 22 Jun, 2022
Summarize
Comments
Improve
Suggest changes
Share
Like Article
Like
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) 


Article Tags :

Similar Reads