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++ 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 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 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# 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 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 ?> |
<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> |
0.5
Time Complexity: O(1)
Auxiliary Space: O(1)