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> |
0.5
Time Complexity: O(1)
Auxiliary Space: O(1)
Ready to dive in? Explore our Free Demo Content and join our DSA course, trusted by over 100,000 neveropen!